http://qs1969.pair.com?node_id=11141201


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

Thanks everyone. Using ' ' is working as I need on records from an ASCII file.
And I'm going to load the records with File::Slurp, so I don't care of chomp:
use File::Slurp qw(read_file); my @lines = read_file('/path/file',chomp=>1);

Replies are listed 'Best First'.
Re^3: Extracting selected fields form file record (don't use File::Slurp)
by eyepopslikeamosquito (Archbishop) on Feb 08, 2022 at 11:40 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;