sub blortz { my @defaults = qw( foo 1 baz 42 ); my %args = ( @defaults, @_ ); print "baz is the answer\n" if $args{baz} == 42; } blortz( baz => 2.71828 );