my $func = sub { my ($param1, $param2) = @_; do { foo }; return $bar; } #### my $func = sub { do { something }; $func->($param1, $param2); } #### my $func = sub { my ($func, $param1, $param2) = @_; do { something }; $func->($func, $param1, $param2); }