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