On 29 Oct 2022, at 23:28, ToddAndMargo via perl6-users <perl6-us...@perl.org>
wrote:
On 29 Oct 2022, at 22:02, ToddAndMargo via perl6-users <perl6-us...@perl.org>
wrote:
Hi All,
I am trying to change
/
into
\\\
This works:
$ echo "a/b/c/d" | raku -ne 'my $x=$_; $x~~s:g|$(Q[/])|\\\\\\|;print $x ~ "\n"'
a\\\b\\\c\\\d
But this does not:
$ echo "a/b/c/d" | raku -ne 'my $x=$_; $x~~s:g|$(Q[/])|Q[\\\]|;print $x ~ "\n"'
aQ[\]bQ[\]cQ[\]d
How do I put a literal string in the
target of a regex?
Many thanks,
-T
On 10/29/22 13:07, Elizabeth Mattijsen wrote:
$ echo "a/b/c/d" | raku -ne 'say .subst("/", Q/\\\/, :g)'
Hi Elizabeth,
Thank you for the subst workaround!
Do you also know how to do a literal string in
the target of the regex?
-T
On 10/29/22 14:48, Elizabeth Mattijsen wrote:
> / 'literal string in target' /
>
I am not following. ;-(
[0] > my $x="a/b/c/d"; $x~~s:g|$(Q[/])|'\\\'|; print $x ~ "\n"
a'\'b'\'c'\'d
[0] > my $x="a/b/c/d"; $x~~s:g|$(Q[/])|/\\\/|; print $x ~ "\n"
a/\/b/\/c/\/d
[0] > my $x="a/b/c/d"; $x~~s:g|$(Q[/])|/'\\\/'|; print $x ~ "\n"
a/'\/'b/'\/'c/'\/'d
[0] > my $x="a/b/c/d"; $x~~s:g|$(Q[/])|/'\\\'/|; print $x ~ "\n"
a/'\'/b/'\'/c/'\'/d
[0] > my $x="a/b/c/d"; $x~~s:g|$(Q[/])|\\\|; print $x ~ "\n"
===SORRY!=== Error while compiling:
Malformed replacement part; couldn't find final |
at line 2
------> <BOL>⏏<EOL>
expecting any of:
postfix