mkdir bak/ ; perl -pi'bak/*' -e 's/foo/bar/g' file1 file2 file3 ... #### perl -pi'bak/*' -e 'BEGIN { mkdir($^I =~ m!(.*/)!) } s/foo/bar/g' file1 file2 file3 ... #### perl -MFile::Path -pi'bak/*' -e 'BEGIN { mkpath [ $^I =~ m!(.*/)! ] } s/foo/bar/g' file1 file2 file3 ...