my $doc_num; my $tmp_doc_num; my @doc_nums; my @doc; foreach( @doc_nums ) { @doc = (); $doc_num = substr( $_, 0, 7 ); foreach( @raw ) { @fields = split( /,/, $_ ); if( $fields[0] eq "AIP65" ) { $tmp_doc_num = substr( $fields[5], 0, 7 );; } else { $tmp_doc_num = substr( $fields[4], 0, 7 ); } ( $tmp_doc_num eq $doc_num ) ? push( @doc, $_ ) : next; } push( @docs, \@doc ); }