my @list = qw( a b c ); GetOptions ('list=s{,}' => \&list); print Dumper \@list; sub list { # action at a distance # modifies the file scoped @list array @list = split /,/, $_[1]; } #### C:\test>list_test.pl $VAR1 = [ 'a', 'b', 'c' ]; #### C:\test>list_test.pl -list d,s,4,f,"test string" $VAR1 = [ 'd', 's', '4', 'f', 'test string' ];