|
|||||||||||||||||||||||||||
Carsten Svaneborg wrote: > Hi! (er denne gruppe død??) Nej, den lugter bare spøjst. > Jeg har perl program, der via. ssh udføre en række bash scripts på > forskellige servere. Og jeg vil gerne fange stderr og stdout ikke > kun af scripts, men også af perl programmet selv og tee' dette til > en fil, samtidigt med at det udskrives på skærmen. Perl programmet > skal selv kunne bestemme fil navnet, hvortil stderr og stdout skrives. Til sådan noget er IPC::Open3 en god ting (IPC::Open3 følger med perl). > Jeg kan open(STDERR,"enfil") og derved redirecte alt på STDERR og > STDOUT til to filer, men så kommer det ikke på skærmen hvilket > jeg ville fortrække. Du skal bare at skrive tingene ud to gange, eventuelt gennem en funktion. Du kan også få denne funktion til at se ud som en fil ved hjælp af tie. Men lidt afhængigt af hvad du spørger om kan det være at IPC::Open3 var svaret. > Jeg vil meget nødigt kalde perl programmet fra et bash script, > fordi det er komplekst nok i forvejen, og det vil gøre det > besværligt at lade perl scriptet bestemme output filnavnet. Der skulle ikke være nogen grund til at blande bash mere ind i sagen. > Så hvis jeg kan lave alt i perl så ville det være at fortrække. > Fordi så kan jeg fx. emaile mig selv progress reports/errors > hvis dette skulle være nødventigt. For mig lyder det meget som om du desperat prøver at gøre dit liv (eller i hvert fald dit program) unødigt kompliceret. Hvis du vil have output to steder hen, skal der to print's til, det er kun et spørgsmål om hvor meget du pakker dem ind. ./borup
|
||||||||||||||
|
||||||||||||||