Derek B. Smith wrote: : ## Below is better pratice ## : : sub getfile { : my $filename = shift; : open F, "< $filename" or die "open failed $!" : my $contents; : { local $/ = undef; # Read entire file at once : $contents = <F>; # Return file as one line : } : close F; : return $contents; : } : : : I read an excerpt from : http://perl.plover.com/local.html#2_Localized_Filehandles
Curiously, you do not actually localize the file handle in getfile(). : and was wondering if this holds true regarding : localizing $/ and setting it to undef in Perl 5.8.x? If you do not localize the $/ operator then you will change it for the rest of the script. That might be a problem for other I/O operations which fail to set it. In 5.8.x this function might better be written like this, but I lack the experience to call it a best practice. sub slurp_file { # open file for read or die my $file = shift; open my $fh, '<', $file or die qq(Cannot open "$file": $!); # slurp file local $/ = undef; # return file as scalar return <$fh>; } HTH, Charles K. Clarkson -- Mobile Homes Specialist Free Market Advocate Web Programmer 254 968-8328 Don't tread on my bandwidth. Trim your posts. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>