如何修剪反斜杠?

时间:2012-08-23 06:36:38

标签: perl

我需要从数组中删除反斜杠。

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

我怎样才能删除反斜杠?

1 个答案:

答案 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