my %name = (); . . while (<$fh>){ next unless /\S/; # skip blank lines if (/Acct:(\d+)/){ $acct = $1; } if (/Name:([^\s]+)/){ $name{$acct} = $1; } push @{$data{$acct}},$_ if ($acct); } #### my $outfile = join '_',$name{$acct},$acct,'2017.txt';