Eeehm you might want to put ' thingies around your
keys aswel that hash, that might help
and for B:
I'd think this'd work:
sub do_this_cool_function(@)
{
my %Param=@_;
# Now address your params like this:
my $When=$Param{'-retire'};
my $Wages=$Param('-payscale'};
my $Favourite_temperature=$Param{'-pizza'};