in reply to $S, @A, %H parameter in function call

The arrays and hashes behave the same with respect to being parameters of subroutines. Use references for both:
sub func { my ($scalar, $array_ref, $hash_ref) = @_; } func($scalar, \@array, \%hash);
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ