我正在尝试验证我的脚本是否正确。基本上,我试图通过使用( grep { $_ ne $1 } @ProtectSuperGroups)来避免在@ProtectSuperGroups 中重复输入。
但是,我发现 $_ 是打印空白,这让我对此表示怀疑。
foreach my $group (@ProtectSuperGroups)
{
chomp($group);
chomp($group);
my @ProtectSuperGroupLines = qx($p4 -ztag group -o $group);
foreach my $line (@ProtectSuperGroupLines)
{
if ($line =~ /\.\.\.\s+Users\d{1,3}\s+(.*)$/)
{
push(@ProtectSuperUsers, "$1");
}
if ( ($line =~ /\.\.\.\s+Subgroups\d{1,3}\s+(.*)$/) && ( grep { $_ ne $1 } @ProtectSuperGroups))
{
push(@ProtectSuperGroups, "$1");
}
}
}
打印 $_ 的示例程序也是空白的。
my @array = ( "catchme", "if", "you", "can" );
my $element = "catchme";
if ( grep { $_ eq $element } @array )
{
print "$)\n";
print "Here's what we found\n";
}
else
{
print "Sorry, \"$element\" not found in \@array\n";
}
您能否添加您的经验并建议我更好的解决方案。基本上我想避免在我的名为@ProtectSuperGroups 的数组中推送重复条目。我的 Perl 版本是 v5.8.8