我在 perl 中有一个子例程来检查数组是否包含特定元素,如果它包含返回 TRUE,否则返回 false。下面的代码应该返回 false,因为搜索到的元素 http_TestABC 不在数组中但它仍然返回 TRUE。无法弄清楚为什么会发生这种情况.任何指针表示感谢
#!/usr/bin/perl
use strict;
use warnings;
my @result_listosp; # defines an empty array
$result_listosp[0] = "origin-server-pool-1"; # array has one element
$result_listosp[1] = "http-pool-OSP2"; # array has 10 elements now
my $osp="http_TestABC";
my $status_osp_check= check_if_entity_exists(@result_listosp,$osp);
print $status_osp_check;
sub check_if_entity_exists()
{
my @entityarray = @_;
my $entity = $_[1];
my $status="FALSE";
if ( grep( /^$entity$/, @entityarray ) ) {
$status="TRUE";
return $status;
}
else {
return $status;
}
}