【发布时间】:2017-07-24 20:46:32
【问题描述】:
我有一个数组。我希望数组没有任何 $regex 值(以逻辑 OR 方式)。 我以否定的方式使用 grep 命令,但我认为这不能解决我的问题。非常感谢任何帮助。谢谢
#!/usr/bin/perl -w
use Data::Dumper;
my @array = ['hard_link is not present', 'dynamic variable', 'segfault'] ;
my $regex = qr/create_hard_link|Failed to reassign|Global variable/ ;
print Dumper(\@array) ;
my @wanted_array = grep {!$regex} @array ;
print Dumper(\@wanted_array);
它给了我一个输出
$VAR1 = [
[
'hard_link is not present',
'dynamic variable',
'segfault'
]
];
$VAR1 = [];
【问题讨论】:
-
另外,
[ ... ]创建一个数组引用。你想要@array = ( ... )。所以@array = [ ... ]创建了该arrayref 并将其分配给@array的第一个元素。我想这不是你想要的。 -
然后,我建议您检查您的其他问题并投票(现在您有足够的信用)并接受合适的。这可能与您当前问题的奇怪反对票有关,也可能无关。我不会在此处发布此评论,以免进一步加剧这种情况。当你看到这个时告诉我。
-
@zdim 我对其他问题的投票对当前的投票情况有何帮助?
-
老实说,我不知道这个问题是怎么回事。当然,其他问题不应该对那个问题进行投票,但生活并不像我们所知的那么简单。以我的经验,人们不会撤回反对票......但这可能有助于未来的问题。如果这是导致它的原因——我猜是因为我不理解这些选票(关于一个好问题)。但是话又说回来,通过审查您的其他问题并投票(视情况而定),无论如何您都会公正地对待它们。
标签: perl grep regex-negation