my $dir="thedir"; my $fn="files.txt"; open OUT,">$dir/$fn" || die $!; print OUT grep(!/^$fn$/,map { s/^$dir\///; $_.="\n"; $_ } <$dir/*>); close OUT;