my $cnt = 0; local $_; chdir "/home/a" or die "chdir: $!"; opendir my $dh => "." or die "opendir: $!"; -f && /\.txt$/ && $cnt ++ while defined ($_ = readdir $dh); closedir $dh;