Я думаю, что ответ здесь, к сожалению, таков: «Нет, нет способа сделать это в точности так, как вы просите, используя Getopt :: Long, без анализа @ARGV самостоятельно». Эфир имеет достойный обходной путь, хотя. Это особенность, поскольку большинство людей обеспокоены тем, что любой аргумент, подобный параметру, воспринимается как ошибка. Обычно вы можете сделать
GetOptions('foo' => \$foo)
or die "Whups, got options we don't recognize!";
для захвата / предотвращения передачи нечетных параметров, а затем вы можете исправить пользователя при использовании. Кроме того, вы можете просто пройти и игнорировать их.