Getopts perl заказ

У меня проблемы с getopts в Perl.

Я использую:

getopts("abc:ds:", \%options);

и я проверяю варианты с помощью

if (defined $options{a})

где $options — это хэш, в который записываются опции.

После параметров пользователь должен ввести имя файла, которое я нахожу с помощью $ARGV[0]. Проблема в том, что пользователь не может ставить опции после имени файла, а только перед ним.

Итак, это работает:

skript.pl -a file.txt

И это не работает:

skript.pl file.txt -a

Как я могу избежать этой проблемы?

Спасибо!

-Алекс


person Darius    schedule 23.04.2015    source источник


Ответы (1)


Getopt::Std действительно слишком ограничен для использования почти в каждом случае.

Используйте Getopt::Long и установите параметр перестановки, чтобы разрешить это.

person ysth    schedule 23.04.2015