my @records; { local $/ = /====/; #obviously this won't work... open FILE1, "$ARGV[0]" or die "Cannot open data file.\n$!"; while ( my $record = ) { my @chunks = split /\n/, $record; push @records, [@chunks]; } close FILE1; }