while () { while ( $_ =~ m/(?:\s|\W)*([A-Za-z0-9_\.\:]+)(?:\s|\W)*/g ) { if ( exists $hash{$1} ) { $tmp = $1; $_ =~ s/$tmp/$hash{$tmp}/; } } $data .= $_; }