which will slurp but does not chomp at the same time; however, the impact of the CR will have little effect on your matching.my @records = <BIGFILE>;
Since you then have to write out to a file, there's no need to wastefully add the carriage return before you split the file, so instead, you can do:
Finally, this type of situation is an ideal one where slurping is inefficient, unless you're repeating the process multiple times; it's probably much easier and less of a memory hog to process line by line:my @records = <BIGFILE>; my @london = grep /LONDON/, @records; print LONDONFILE join "", @london;
while ( my $line = <BIGFILE> ) { /LONDON/ ? print LONDONFILE $line,"\n" : print OTHERFILE $line,"\n"; }
Updates as arturo pointed out to me that slurping in array mode doesn't chomp.
-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com
||
"You've left the lens cap of your mind on again, Pinky" - The Brain
It's not what you know, but knowing how to find it if you don't know that's important
In reply to Re: Processing slurped file.
by Masem
in thread Processing slurped file.
by Jonathan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |