Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Print contents of text file line by line

by stevieb (Canon)
on Jun 23, 2018 at 19:15 UTC ( [id://1217300]=note: print w/replies, xml ) Need Help??


in reply to Re: Print contents of text file line by line
in thread Print contents of text file line by line

That will slurp the entire file into memory all at once, which is almost always what isn't desired.

Use the scalar, but do so in proper context. The OP is assuming that the return from each file handle read is an array, which it isn't. In a while() loop like the OP has, the file handle is read a line at a time, so the scalar holds everything up to end-of-line (including the newline character(s)). To use an array as you suggested would mean that you'd have to eliminate said while() loop.

use warnings; use strict; open my $fh, '<', "file.txt" or die "can't open the flippin' flabergastin' file!: $!"; while (my $line = <$fh>){ chomp $line; print "something here $line\n"; }

Note that if the while() block is very small, a well-known Perl idiom is to use the built-in special default variable:

use warnings; use strict; open my $fh, '<', "file.txt" or die "can't open the flippin' flabergastin' file!: $!"; while (<$fh>){ chomp; print "something here $_\n"; }

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-26 04:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found