in reply to Re: Getting From here to an Array
in thread Getting From here to an Array

My apologies for the formatting, first post. Yes, I thought I needed to parse those "groups" together into a line and was having difficulty with the multi line title lines. I had never considered that parsing was not necessary for an email. How would perl do that with the data I provided?

Replies are listed 'Best First'.
Re^3: Getting From here to an Array
by ikegami (Patriarch) on Jan 17, 2009 at 23:52 UTC

    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);