http://www.perlmonks.org?node_id=1023856


in reply to mac file problem

That's because you're only asking Perl to read one line with my $content = <HANDLE>;. If you preceeded the open with local $/; it would work, i.e., you'd slurp all the file's contents into $content, because you've set a local copy of Perl's record seperator ($/) to undef.

However, try the following idiomatic way, too:

#!/usr/bin/perl use strict; use warnings; use diagnostics; my $content = do { local $/; <> }; print "$content\n";

When you've passed a file to a script on the command line for reading, you don't need to explicitely open it, as using only <> will read it.

Hope this helps!

BTW - For your future reference, always use the three-argument open, e.g., open my $fh, '<', $fileloc or die "Cannot open file: $!";

Replies are listed 'Best First'.