#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11160457 use warnings; use Getopt::Long; $SIG{__WARN__} = sub { die @_ }; @ARGV = qw( --foo 123 --bar 456 --foo 789 something extra ); use Data::Dump 'dd'; dd '@ARGV before', \@ARGV; my @fooarray; my @bararray; GetOptions 'foo=s' => \@fooarray, 'bar=s' => \@bararray; use Data::Dump 'dd'; dd 'fooarray', \@fooarray; use Data::Dump 'dd'; dd 'bararray', \@bararray; use Data::Dump 'dd'; dd '@ARGV after', \@ARGV;