in reply to How can I make a regex apply to each line of a file?
and it might be a good idea to check the return value of your open call open (FILE, "<$footer") or die "Couldn't open file $footer: $!";
Apart from that, it might not be necessary to read the whole file into memory. So you could do something like
But this depends strongly on what you are doing with the lines of the file.open (FILE, "<$footer") or die "Couldn't open file $footer: $!"; while (my $line = <FILE>) { $line =~ s/something/something_else/g; # print changed line print $line; # do some very complicated other stuff here } close FILE;
Update: Added comment pointing to more complex operations in while loop.
Thanks davorg, I was aware of your command line solution. Nevertheless I posted in order to stress the fact that there is the while-loop alternative to the memory intensive 'map on array' which was suggested by jj808 and ChemBoy. And I assumed that Kage wanted to do a little bit more than just printing the changed line - although my short snippet didn't show that :)
-- Hofmator
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: How can I make a regex apply to each line of a file?
by davorg (Chancellor) on Oct 30, 2001 at 21:20 UTC |