Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^4: Common Perl Pitfalls

by jdporter (Canon)
on Apr 11, 2012 at 15:15 UTC ( #964562=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Common Perl Pitfalls
in thread Common Perl Pitfalls

use File::Slurp; my $text = read_file( 'filename' );

Yeah, that's a whole day's work.
I submit that finding the documentation on such a method is substantially easier than finding the documentation (for lack of a better word) for the snippet you gave.

Note.
The "cost" of useing the module is amortized over all the calls you make to any of its methods (of which File::Slurp has several useful ones).

And the cost of downloading a module is amortized over all of the times you ever use it (at least on that machine).


Comment on Re^4: Common Perl Pitfalls
Download Code
Re^5: Common Perl Pitfalls
by JavaFan (Canon) on Apr 11, 2012 at 15:29 UTC
    Yeah, that's a whole day's work.
    Maybe not for you or me. But for someone who needs half a day to type
    my $test = do {local $/; <HANDLE>};
    it could easily be.
      half a day to type

      You keep dwelling on that, but I think you're misdirecting. He wrote, "spend half a day writing and debugging code", not "half a day to type in one line".

      If someone has a bug they need to track down, they're far more likely to waste cycles on a line like $_=do{local$/;<>}; than one like $_=read_file($file);

      Now let's compare apples to apples:

      use File::Slurp; my $text = read_file( 'filename' );
      vs
      my $text = do { local $/; open my $fh, '<', 'filename' or die "Error opening filename for read - $!"; <$fh> };

      For most programmers, the former looks sane.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2015-07-05 08:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (61 votes), past polls