2014-01-19 3 views

ответ

3

попробовать: s/\/\\/\/\\\\/g

\ является маскирующим. если вы хотите использовать его самостоятельно, вы должны сбежать, используя \.

+4

В этих случаях гораздо проще использовать разделитель, отличный от «/». Например: 's #/\\ #/\\\\ # g' или' s (/ \\) (/ \\\\) g'. – tobyink

2

Вы хотите, чтобы избежать всех вхождений \ к \\ так, что (abc/\ABC) становится (abc/\\ABC):

#!/usr/bin/perl 
use strict; 

my $str = '(abc/\ABC)'; 
$str =~ s:\\:\\\\:g; 

print "$str\n"; 
# => (abc/\\ABC) 

В примере используется заместительная разделитель : вместо /, чтобы сделать его более удобным для чтения.

0
my $str = '/\\'; 
print $str."\n"; 
$str =~ s!/\\!/\\\\\\!; 
print $str."\n"; 
Смежные вопросы