スクリプトが正しいかどうかを検証しようとしています。基本的に、( 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 です