#!/usr/bin/perl use strict; use warnings; use File::Find; find(\&wanted, '/folder1'); sub wanted { if (-f) { (my $new = $File::Find::name) =~ s/\//./g; print "$File::Find::dir/$new\n"; #rename $File::Find::name, "$File::Find::dir/$new" # or warn "Can't rename $File::Find::name\n"; } }