-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'

ところで: 配列に要素が 1 つしかない場合は、おそらくscalarを使用する必要があります。

于 2012-08-23T06:56:58.817 に答える