Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: Perl Idioms Explained - my $string = do { local $/; };

by Zaxo (Archbishop)
on Aug 29, 2003 at 14:52 UTC ( #287686=note: print w/replies, xml ) Need Help??

in reply to Perl Idioms Explained - my $string = do { local $/; <FILEHANDLE> };

It may be useful to restrict the scope of the file handle as well, since slurping is a one pass approach. That may be done with

my $string = do { local $/; open local(*FILEHANDLE), 'somefile.txt' or die $!; <FILEHANDLE> };
or, better if lexical filehandles are available,
my $string = do { local $/; open my $fh, 'somefile.txt' or die $!; <$fh> };
since the lexical handle is properly closed when it goes out of scope. Either way ensures no interference with other handles of the same name.

After Compline,

Replies are listed 'Best First'.
Re: Re: Perl Idioms Explained - my $string = do { local $/; <FILEHANDLE> };
by Zaxo (Archbishop) on Sep 03, 2003 at 02:42 UTC

    The truly modern PerlIO approach would be,     open my $fh, '<:raw', '/path/to/somefile.txt' or die $!;
    but I'd do it with binmode still, right after opening.

    After Compline,

Re: Re: Perl Idioms Explained - my $string = do { local $/; <FILEHANDLE> };
by John M. Dlugosz (Monsignor) on Sep 02, 2003 at 20:30 UTC
    How about opening it in binary mode? I would historically use a binmode after opening, but in 5.8 I should be able to use :raw or something like that. When I tried once, I spent a few minutes trying to make it work, and went back to the old way. What's the polished form of the idiom that uses the new syntax for binary files?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://287686]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2016-10-23 20:43 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (302 votes). Check out past polls.