Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl中变量的正则表达式_Perl_Perlscript - Fatal编程技术网

Perl中变量的正则表达式

Perl中变量的正则表达式,perl,perlscript,Perl,Perlscript,我在变量中有值E.1.1.1,我希望E111存储在不同的变量中 $var1 = "E.1.1.1"; $var1 =~ s/\.//g; 上述代码更改了$var1变量中的值。我想试试下面的方法 $var2 = s/\.//g $var1; 建议怎么做。我是Perl新手。类似的方法应该可以: (my $var2 = $var1) =~ s/\.//g; 像这样的方法应该会奏效: (my $var2 = $var1) =~ s/\.//g; 或 或 或 或 您已经使用s//获得了通用答案 对

我在变量中有值
E.1.1.1
,我希望
E111
存储在不同的变量中

$var1 = "E.1.1.1";
$var1 =~ s/\.//g;
上述代码更改了
$var1
变量中的值。我想试试下面的方法

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

建议怎么做。我是Perl新手。

类似的方法应该可以:

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

像这样的方法应该会奏效:

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


您已经使用
s//
获得了通用答案

对于此特定任务,从字符串中删除
,也可以使用
y
(别名
tr


更多信息:

您已经通过
s//
获得了通用答案

对于此特定任务,从字符串中删除
,也可以使用
y
(别名
tr


更多信息:

请尝试:
(my$var2=$var1)=~s/\../g
或使用
r
修饰符Try:
(my$var2=$var1)=~s/\../g
或使用
r
修饰符newish perls:
my$var2=$var1=~s/\///gr在新的perls上:
my$var2=$var1=~s/\.//gr
( my $var2 = $var1 ) =~ s/\.//g;
my $var2 = $var1 =~ s/\.//gr;    # 5.14+
( my $var2 = $var1 ) =~ y/.//d;
my $var2 = $var1 =~ y/.//dr; #the /r needs 5.14+