in reply to Extra backlash getting added to string

That's not what I see:

Win8 Strawberry (32) Thu 07/15/2021 13:10:20 C:\@Work\Perl\monks >perl -Mstrict -Mwarnings my $file="Billy_Bob_Smith"; $file =~ s/_/\\_/g; print "'$file' \n"; use Data::Dumper; print Dumper $file; ^Z 'Billy\_Bob\_Smith' $VAR1 = 'Billy\\_Bob\\_Smith';
How are you looking at $file?

Update: Further to Fletch's post:
Utilities like Data::Dumper and Data::Dump try to represent output as "proper" single- or double-quoted strings. A single-quoted string (as in the Data::Dumper example above) handles multiple backslashes that are not before a quote terminal like this:

Win8 Strawberry (32) Thu 07/15/2021 13:10:29 C:\@Work\Perl\monks >perl -Mstrict -Mwarnings my $string = 'a\b\\c\\\d\\\\e'; print ">$string< \n"; ^Z >a\b\c\\d\\e<
You may be seeing an artifact of your data dumper utility, whatever it is.

Give a man a fish:  <%-{-{-{-<