use warnings; use strict; use Getopt::Long; use Data::Dumper; my @aopt; my @bopt; GetOptions( 'a=s{1,}' => \@aopt, 'b=s{1,}' => \@bopt, ) or die; print Dumper(\@aopt); print Dumper(\@bopt); __END__ my_script.pl -a sf -b asdad dfsdf $VAR1 = [ 'sf' ]; $VAR1 = [ 'asdad', 'dfsdf' ];