foreach $exch(@exch) { for($i=0; $i<=$#completefile; $i++) { $su_adapter = undef; $su_date = undef; while($completefile[$i]=~ m/^.+\\(.+)_.+\..+?:(.+?)\s-\s(.+?)\s.+?\/$exch\s\|.+::(.*Up)\(\)/g) { $su_adapter=$1; $su_date=$2; } print $su_adapter, $su_date; } } #### foreach my $exch (@exch) { my ($su_adapter, $su_date); foreach (reverse @completefile) { last if ($su_adapter, $su_date) = /^.+\\(.+)_.+\..+?:(.+?)\s-\s(.+?)\s.+?\/$exch\s\|.+::(.*Up)\(\)/; } if (defined $su_adapter) { print "Last match for $exch: $su_adapter, $su_date\n"; } else { print "No match for $exch\n"; } }