$path = "/var/tmp/decode1"; opendir(DIR, $path); @files = grep { /\.dat$/ } readdir(DIR); closedir(DIR); foreach $file (@files) { open(INPUT, "$path/$file") or die "can't open file $file: $!"; # do some stuff close INPUT; }