根据字符串在perl中的存在从字符串中删除子字符串

时间:2013-04-22 20:55:03

标签: perl grep substring

我有一个数组 - @values - 包含这样的元素。

abcd
ijk.*
alba
^defg
xyz.domain.example.com

我在阵列上做这样的检查:

foreach $val(@values)
{
    if(!`grep $val /tmp/list` && (!grep /$val/,@anotherlist )
    {
        #Perform an action;
    }
}

我的/tmp/list@anotherlist可能/可能不包含xyz或正则表达式值,但不包含xyz.domain.example.com。这里domain的长度可变。

如果我在字符串中找到它,你能建议一种删除.domain.example.com的方法吗? 我还在一个名为@domain的数组中维护一个域列表。

我希望在我当前的if语句中有一个解决方案。

1 个答案:

答案 0 :(得分:0)

for/foreach循环中的索引变量是数组元素的别名。如果对索引变量进行了更改,那么您还要对数组元素进行更改。

#Perform an action;
$val =~ s/\.domain\.example\.com//;