http://qs321.pair.com?node_id=1125883


in reply to Calling subroutine with a scalar

Try

my $res = new Some::Package({ foo => bar })->$sub;

Or better:

my $res = Some::Package->new({ foo => bar })->$sub;