in reply to Module Creation and Function Call

Try passing Array REFERENCES, instead of arrays, as parameter.

Passing arrays confuses the receiving sub parameters, when it tries to decode the contents of @_.

Obviously, you will need to modify the called sub as well, to receive the array reference(s) properly.

sub Ref_receiver{ my ($ref1,$ref2)=@_; # What we get are SCALARs, each of which is a re +ference to an array print $ref1->[0]; # prints 33 } my (@x,@y); $x[0]=33; Ref_receiver (\@x, \@y); # Pass REFERENCES to the arrays @x, @y

             All great truths begin as blasphemies.
                   ― George Bernard Shaw, writer, Nobel laureate (1856-1950)