sub ssh_connect { my ($self, $user, $pass) = @_; if (3 < @_) { (undef, my %args) = @_; $user = $args{user} or confess("No user"); $pass = $args{pass} or confess("No pass"); } print "$user and $pass\n"; } #### $foo->ssh_connect($user, $password); $foo->ssh_connect({user => $user, pass => $password});