in reply to Re^2: How do you say, in Perl....
in thread How do you say, in Perl....

You might want to pass in a code ref instead of a hash ref, and then in your function you can say:
my $signature = $custom_coderef ? $custom_coderef->() : default_sig();
The code ref itself can require any modules it needs, eg:
my $coderef = sub{ require Foo::Bar; my $signature = "blah"; return $signature; }