Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^3: Extracting selected fields form file record (updated)

by eyepopslikeamosquito (Bishop)
on Feb 08, 2022 at 11:40 UTC ( #11141227=note: print w/replies, xml ) Need Help??


in reply to Re^2: Extracting selected fields form file record (updated)
in thread Extracting selected fields form file record

Noone even mentioned File::Slurp! :)

If you must use a module for this, may I suggest Path::Tiny or File::Slurper? See File::Slurp is broken and wrong for why.

Update: or just do it idiomatically without a module: my $string = do { local $/; <$fh> }

Replies are listed 'Best First'.
Re^4: Extracting selected fields form file record
by haukex (Archbishop) on Feb 08, 2022 at 12:25 UTC
    If you must use a module for this, may I suggest Path::Tiny or File::Slurper?

    While those modules are nice, I personally find it a bit difficult to keep track of all of the different modules' opinions on how to best slurp files. And considering that slurping a file takes at most two lines of pure Perl code and I remain in full control over layers etc., I no longer see the need to load a module just for that. The following only requires knowing some of the details of layers, such as knowing the effect of ${^OPEN}, using :encoding(UTF-8) instead of :utf8, and that UTF-16 files on Windows require the layers :raw:encoding(UTF-16):crlf (the latter two being documented in PerlIO and "open" Best Practices).

    my $all = do { open my $fh, '<', $filename or die "$filename: $!"; local $/; <$fh> }; my @lines = do { open my $fh, '<', $filename or die "$filename: $!"; <$fh> }; chomp @lines;

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2022-11-26 10:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?