sub three_args { my($array, $scalar, $hash) = @_; print "three_args() got - $array, $scalar, $hash\n"; } my $scalar = 'a string'; my @array = qw(foo bar baz); my %hash = (key => 'value'); # with references three_args(\@array, $scalar, \%hash); # without references three_args(@array, $scalar, %hash); __output__ three_args() got - ARRAY(0x81089ac), a string, HASH(0x81089f4) three_args() got - foo, bar, baz