Similar to this, how do I achieve the same in Perl?
I want to convert:
C:\Dir1\SubDir1\` to `C:/Dir1/SubDir1/
I am trying to follow examples given here, but when I say something like:
my $replacedString= ~s/$dir/"/"; # $dir is C:\Dir1\SubDir1\
I get a compilation error. I’ve tried escaping the /, but I then get other compiler errors.
= ~is very different from=~. The first is assignment and bitwise negation, the second is the binding operator used with regexes.What you want is this:
Note the use of the global
/goption to make changes throughout your string. In your case, looks like you need:If you want a more readable regex, you can exchange the delimiter:
s#\\#/#g;If you want to preserve your original string, you can copy it before doing the replacement. You can also use transliteration:
tr#\\#/#— in which case you need no global option.In short:
Documentation: