while () { s/^ ~ .*? \K ( .+ ) / ( my $x = $1 ) =~ tr-_-+-; $x /xe; print "$_"; }