my @ll = map { (glob "$path/$_")[0] } qw/*B1006* *B1106-* *B11062*/; #### my (@stamp, @name); foreach (@ll) { if (m#([A-Z][a-z]{2}\s\d{2}\s\d{2}:\d{2})\s(/.+\.+Z)$#) { push @stamp, $1; push @name, $2; } } #### for (0..#$stamp) { printf "\$name[$_]:\t%s\n\$stamp[$_]:\t%s\n\n", $name[$_], $stamp[$_]; } #### my @name = map { (glob "$path/$_")[0] } qw/*B1006*.Z *B1106-*.Z *B11062*.Z/; my @stamp = map { scalar localtime( (stat)[9]) } @name;