in reply to Match file names in a Zip file help

If I understand you correctly, you need something like this:

foreach (@members_name) { if (/^${accountnumber}_/) { to_sub($zip, $accountnumber, $_ ); } }

If that is what you want, you could speedup this segment a bit if you stored the names in a hash:

foreach my $member ($zip->members()) { # print file information my $member_file_name = $member->fileName(); my ($acc)= $member_file_name=~/^\d+/; push @{$members_name{$acc}}, $member_file_name; } ... if (exists $members_name{$accountnumber)) { foreach (@{$members_name{$accountnumber}) { to_sub( $zip, $accountnumber, $_ );