in reply to Re^2: creating array of hashes from input file
in thread creating array of hashes from input file

would this layout would be an easier an approach to parse

Maybe, depends on what pages 2 and 3 are like. Are you parsing many reports all formatted the same ?. Or is the 3 pages just a small sample of the real report.

#!perl use strict; use Data::Dumper; my $infile = 'report1.txt'; # date address description my $fmt = "A16 A38 A*"; my @data = (); my $recno = -1; my $flag = 0; open IN,'<',$infile or die "$infile $!"; while (<IN>){ chomp; next unless /\S/; $flag = 0 if /Page \d of \d/; my ($date,$addr,$desc) = unpack $fmt,$_; if ( $date =~ /\d\d.\d\d.20\d\d/ ){ $flag = 1; ++$recno; $data[$recno] = [ $date,$addr,$desc ]; } elsif ($flag) { $data[$recno][1] .= ' '.$addr if $addr; $data[$recno][2] .= ' '.$desc if $desc; } } close IN; print scalar(@data)." records read\n"; print Dumper \@data;
poj