It's similar, but there are some differences (which may or may not be important):
well, you can also get point 1 with an ordinary block, e.g.
or the like.my ($content, $IN); unless (open ($IN, "<", $file)) { die "Error in reading '$file': $!\n"; } # unless else { local $/ = undef; # valid only until end of block binmode($IN); $content = <$IN>; close ($IN); } # else
Global filehandles have a problem: they are global, and if you open(IN, ...) and another IN is already opened, the first IN is closed. In some cases (e.g. recursions, reading filenames out of a file and opening them in a subroutine) this may be fatal.
point 4 is in my eyes important that it is not good to write something like:
because if the filename changes to something different, there is the danger you forget to change the filename in the die-message (or just do a stupid typo) and you or somebody else searches for the wrong problemunless (open ($IN, "<", "file1.txt")) { die "Error in reading 'file1.txt': $!\n"; } # unless
Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"
In reply to Re^5: create image via binmode
by strat
in thread create image via binmode
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |