# 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; }