mellin has asked for the wisdom of the Perl Monks concerning the following question:
That "and return undef" does not seem to work, it still tries to flock and print to it, even though it should get out of the sub and return undef value if the file could not be opened. How exactly should i get the sub to abort and return undef without using exit?# give the sub two parameters, $saveOk gets then the subs return value my $saveOk = saveFile($frontPage, $xmlPrint); # printing the scalar below should now either give 1 or nothing # depending wether the file got saved or not print "$saveOk\n"; sub saveFile { open FH, ">$_[0]" or error($!, "not able to write to file $_[0]") and +return undef; flock FH, 2; # take exclusive-lock print FH "$_[1]"; # print to file-handle close FH; # if everything went fine, give 1 as an return value 1; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: calling sub and returning value from the same line
by jdalbec (Deacon) on Jan 09, 2005 at 20:43 UTC | |
by dpuu (Chaplain) on Jan 09, 2005 at 21:00 UTC | |
|
•Re: calling sub and returning value from the same line
by merlyn (Sage) on Jan 09, 2005 at 20:36 UTC | |
|
Re: calling sub and returning value from the same line
by borisz (Canon) on Jan 09, 2005 at 20:37 UTC | |
|
Re: calling sub and returning value from the same line
by Anonymous Monk on Jan 09, 2005 at 21:48 UTC | |
by gaal (Parson) on Jan 09, 2005 at 22:26 UTC |