I have a line of code that would need to call sub as well to return a value. So far the line only runs the sub but for some reason discards the return value.
Perhaps a lot easier to explain with the actual code..
call the sub:
# 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;
}
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?