# Example 1 sub my_sub { my $name = shift; my $mail = shift; my $city = shift; print "$name, from $city, has e-mail address $mail."; } my_sub('Coruscate', 'Red Spot', 'Jupiter'); # Example 2 sub my_sub { my ($name, $mail, $city) = @_; print "$name, from $city, has e-mail address $mail."; } my_sub('Coruscate', 'Red Spot', 'Jupiter'); # Example 3 # Once I hit 4+ arguments, I hit named arguments! # (Yes, I know the example only has 3 args...) sub my_sub { my %q = @_; print "$q{name}, from $q{city}, has e-mail address $q{mail}."; } my_sub( name => 'Coruscate', mail => 'Red Spot', city => 'Jupiter' );