Регулярные выражения для переменной в Perl

У меня есть ценность E.1.1.1 в переменной, я хочу E111 хранится в другой переменной.

$var1 = "E.1.1.1";
$var1 =~ s/\.//g;

Приведенный выше код изменяет значение в $var1 переменная. Я хочу попробовать, как показано ниже.

$var2 = s/\.//g $var1;

Предложите, как это сделать. Я новичок в Perl.

3 ответа

my $var2 = $var1;
$var2 =~ s/\.//g;

или же

( my $var2 = $var1 ) =~ s/\.//g;

или же

my $var2 = $var1 =~ s/\.//gr;    # 5.14+

Примерно так должно работать:

(my $var2 = $var1) =~ s/\.//g;

Вы уже получили универсальные ответы, используя s///,

Для этой конкретной задачи, удаление . из строки, вы также можете использовать y (псевдоним tr).

( my $var2 = $var1 ) =~ y/.//d;

или же

my $var2 = $var1 =~ y/.//dr; #the /r needs 5.14+

Больше информации: perlop - Операторы типа "Цитировать"

Другие вопросы по тегам