Depending on the size of your log file, and the specs of your machine, reading the entire log file into an array may not be such a good idea. This is because memory must be allocated for the entire file. And if you happen to be dealing with a multi-gigabyte file, this may become a problem.
Generally, a better approach is to read the file line by line, and process each line as you go. For this, a while loop can be used. Example:
Using the above method, only one line of the file is read into memory at a time, which is much more memory-efficient.#!/usr/bin/perl use strict; use warnings; # 3 argument form of open using a lexical variable is considered bette +r practice # see perldoc -f open open my $file, '<', $ARGV[0] or die "Can't open $ARGV[0] for reading: +$!\n"; while (my $line = <$file>) { print $line; chomp($line); #if you need to # any other processing.... }
Hope this helps,
Darren :)
In reply to Re: Split on new line
by McDarren
in thread Split on new line
by Karger78
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |