Higher-order functions: Difference between revisions

Line 69:
[[Category:Perl]]
'''Interpreter:''' [[Perl]]
 
Passing a pointer to a function
 
my $retval = first('data', \&second);
sub first ($ $){
my $val = shift;
my $func = shift;
return $func->($val);
}
sub second ($){
return(reverse(shift));
}
 
Passing a string to be used as a function
 
my $retval = first('data', 'second');
sub first ($ $){
my $val = shift;
my $func = shift;
return &{$func}($val);
}
sub second ($){
return(reverse(shift));
}
 
==[[C plus plus|C++]]==
Anonymous user