in reply to sending data thru a sub routine

The @ARGV array holds the parameters to the script. Subroutine parameters are retrieved from a different array: @_. See both in perlvar.

The first line of a subroutine usually looks like this:

my @parameters = @_;

or

my ($x, $y) = @_;

or even

my $x = shift;

shift is special: if you don't give it an argument, it shifts the first element from @ARGV in the main body, or the first element form @_ in a subroutine.

لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ