#/usr/bin/perl -W $\="\n"; use strict; use warnings; while () { chomp; print $_; s/\/(?:[^\@:,\s+]*\/)(.*?)[\@:,\s+]*/\/new\/path\/$1/g; #s/\/(?:[^\@:,\s+]*\/)(.*?)[\@:,\s+]*$/\/new\/path\/$1/g; print $_; print ''; } # produces: # C:\chas_sandbox> # 683879resp.pl # file /user/name/some/path/to/filename@@ dumped: replaced /user/name/blah/blah/filename # file /new/path/filename@@ dumped: replaced /new/path/filename # # @@@@user/some/file/filename.sdc: dumped # @@@@user/new/path/filename.sdc: dumped __DATA__ file /user/name/some/path/to/filename@@ dumped: replaced /user/name/blah/blah/filename @@@@user/some/file/filename.sdc: dumped