#! perl -w use strict; open IN, '<', 'file' or die $!; open OUT, '>', 'temp' or die $!; while( ) { s[ (?<=\\|/) (.*?) (?=\\|/) ][ (my$x=$1) =~ s{ }{_}g; $x ]gex; print OUT; } close IN; close OUT; rename 'file', 'file.bak'; rename 'temp', 'file';