# Named parameters sub full_name(:$first, :$last) { "$first $last" } say full_name(last => "Munoz", first => "Gabriel"); # Optional parameters sub name($fname, $lname?) { defined $lname ?? return "$fname $lname" !! return "$fname"; } say name("Gabriel"); # Perl 5 semantics are still here sub add { my ($lhs, $rhs) = @_; return $lhs + $rhs; }