use strict; use warnings; use Getopt::Long; my $user; my $password; GetOptions( 'fetch' => \&fetch, 'user=s' => \$user, 'password=s' => \$password, ); sub fetch { my @vars = @_; print "We're now in fetch\n"; print "The vars are @vars\n"; print "The user is $user\n"; print "The password is $password\n"; routine1($user); } sub routine1 { my @var = @_; print "We're now in routine1\n"; print "The vars for routine1 @var\n"; print "The user for routine1 is $user\n"; }