Yes, I thought I needed to parse those "groups" together into a line
That doesn't make much sense. Parsing is the opposite of putting things together into a line.
Given the lack of direction, I'll just create an array of records using a single line lookahead.
my $line = <$fh>; # Skip first line die if !defined($line); $line = <$fh>; # Skip second line die if !defined($line); $line = <$fh>; while (defined($line) && $line !~ /^© Copyright/) { chomp( my $date1 = $line ); $line = <$fh>; die if !defined($line); chomp( my $date2 = $line ); $line = <$fh>; die if !defined($line); my $body = $line; $line = <$fh>; my $body = ''; while ( defined($line) && $line !~ /^\d{2}\/\d{2}\/\d{4}$/ && $line !~ /^© Copyright/ ) { $body .= $line; $line = <$fh>; } chomp( $body ); my ($order) =~ $body =~ s/\n(.{7})\z// or die; push @recs, [ $date1, $date2, $body, $order ]; } # Skip copyright line die if !defined($line); $line = <$fh>; # Skip another line die if !defined($line); $line = <$fh>; die if defined($line);
In reply to Re^3: Getting From here to an Array
by ikegami
in thread Getting From here to an Array
by jseager
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |