Here's a complete program. Basically the same as
bbfu with a couple of enhancements. Adding a
-1 to the split allows for null values to still
be added, such as:
foo|bar||||shazam
and chomping the line removes the newline, otherwise
it will end up in the last element of each array.
my $myfile = "BigOldFile.psv"; ## pipe-separated values :)
open(MYFILE, $myfile) or die "Could not open $myfile: $!\n";
my @lines = [];
while(<MYFILE>) {
chomp;
push @lines, [split(/\|/, $_, -1)];
}
## This will show you the format:
my $line=1;
for (@lines) {
print "Line $line: $_\n";
for (@$_) {
print "*$_*\n"; ## Stars are to demonstrate null values
}
$line++;
}