-2

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

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

我怎样才能删除反斜杠?

4

1 回答 1

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

于 2012-08-23T06:56:58.817 回答