我有一个函数sub _where(\@ \&)
,它有两个参数:第一个是数组,第二个应该是另一个函数。这个其他函数返回一个布尔值,我想在我的函数sub _where(\@ \&)
函数循环中调用它。将一个子程序传递给另一个子程序
我无法解压我传入的自定义本地名称的函数。我想我确实需要一些本地名称,因为它应该可以将不同的布尔函数传递给我的where
函数。
其中:
sub _where(\@ \&)
{
my @stud = @{$_[0]};
my $student;
my $function = shift;
my $bool = 0;
my $i;
for $i(0..$#stud)
{
my $student = $stud[$i];
function $student;
}
}
功能1应该传递:
sub name_starts_with($)
{
my $letter = 'B';
my $student = shift;
my $first;
$first = substr($student -> name, 0, 1);
if($first eq $letter)
{
return 1;
}
}
功能2应该传递给where
:
sub points_greater_than($)
{
my $sum_pts = 5;
my $student = shift;
my $pts;
$pts = $student -> points;
if($pts > $sum_pts)
{
return 1;
}
}
希望你们能帮助我在这里。干杯
,能得到任何错误讯息? – 2013-04-10 00:29:31