my $date; my $lastdate = ''; my $logdata = ''; while ( ) { $date = extract_date( $_ ); $logdata .= $stuff; if (length $lastdate and $lastdate ne $date) { print_report( $lastdate, $logdata ); $logdata = ''; } $lastdate = $date; } print_report( $lastdate, $logdata ); #### ( $date, my $stuff ) = parse( $_ ); $logdata .= $stuff; # etc. #### if ( $lastdate and $lastdate ne $date ) { #### my $date; my $lastdate = ''; my $logdata = ''; while ( ) { ( $date, my $stuff ) = parse( $_ ); $logdata .= $stuff; if ( $lastdate and ( $lastdate ne $date or eof LOGFILES ) ) { print_report( $lastdate, $logdata ); $logdata = ''; } $lastdate = $date; }