2012-08-23 4 views
-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 

как я могу просто удалить обратный слеш?

+0

'@array = ~ s/\\ //;' не компилируется. Вам нужно будет исправить свои утверждения (и объяснить, откуда поступают данные), прежде чем вопрос действительно будет иметь смысл. – DavidO

+0

@DavidO: это результат выполнения команды из массива. –

ответ

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.

+0

@ Sebastin: Я хочу удалить эти косые черты и удалить место слэш должно быть оставлено с пробелом. Возможно ли что-то похожее на замену \ с пространством? или любой лучший способ? –

+0

Просто используйте 's # \\ # # g' вместо' s # \\ ## g'. –

+0

Применение подстановки (s ///) к @array будет действовать на скалярном (@array) в test.pl Невозможно изменить разрастание массива в подстановке (s ///) в test.pl, ne ar "s # \\# #г;" Выполнение test.pl отменено из-за ошибок компиляции. –

Смежные вопросы