while ($file = <$dir\\*.txt>) { #do your stuff } #### opendir ( DIR, $dir ) || die "Cannot open directory $dir: $!"; while ( defined( $file = readdir(DIR) ) ) { next if $file =~ /^\.\.?$/; if ( $file =~/txt$/ ) { #do your stuff } } closedir DIR;