#! perl -slw use strict; sub test { my $x = shift; my $y = shift; my $z = shift; print $x + $y + $z; } sub apply2 { my( $code, $argsRef ) = @_; return $code->( @$argsRef ); } apply2( \&test, [1,2,3] );