我需要从数组中删除反斜杠。
use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";
use Test::Exception;
@array = "qwerty-uioplkjadsfcxhbdhjjkgkmnvkgmkgmkgkglmzbcd\-\dfgtg\qwerty";
我需要删除上面数组中的\
。我试过@array =~ s/\\//;
,但我无法做到。
从数组中删除反斜杠后,数组应包含如下内容:
print @array;
output:
qwerty-uioplkjadsfcxhbdhjjkgkmnvkgmkgmkgkglmzbcd - dfgtg qwerty
我怎样才能删除反斜杠?
答案 0 :(得分:1)
首先:双引号将进行插值,因此您应该编写'...d\-\dfgtg\qwerty";'
而不是"..";
或使用q{ }
.
然后有@array =~ s/\\//;
这是无效的语法。我想你想写s#\\##g for @array;
。
此代码有效:
my @array = q{qwerty-uioplkjadsfcxhbdhjjkgkmnvkgmkgmkgkglmzbcd\-\dfgtg\qwerty};
say "--> '$_'" for @array;
s#\\##g for @array;
say "--> '$_'" for @array;
输出:
--> 'qwerty-uioplkjadsfcxhbdhjjkgkmnvkgmkgmkgkglmzbcd\-\dfgtg\qwerty'
--> 'qwerty-uioplkjadsfcxhbdhjjkgkmnvkgmkgmkgkglmzbcd-dfgtgqwerty'
顺便说一句:如果你的数组中只有一个元素,你应该使用scalar。