Я хочу записать параметры и их аргументы из пользовательской команды после запуска скрипта.Получение параметров командной строки и их значений
Рассмотрим следующую команду:
./test.pl --ip localhost --id 400154 --class firstgrade
... и много других опций и значений. Мой желаемый результат будет следующим образом (с помощью log4perl):
debug - ip=>localhost id=>400154 class=>firstgrade
я:
use Getopt::Long;
my $ip;
my $id;
my $class;
my %h =('ip' => \$ip,
'id' => \$id,
'class' => \$class);
GetOptions(\%h);
$logger->debug(join('=>',%h));
, но он не работает. Пожалуйста помоги.
благодарит за ответ. но я думаю, что я объясню проблему неправильно.Я определил% hash, потому что у меня есть более 50 опций в каждой команде, эти параметры статичны, я должен быть в состоянии получить их с их значениями (например, --ip localhost) из команды. это моя проблема. Если Im не ясно, пожалуйста, дайте мне знать, чтобы объяснить больше. –
@Matt Ston: Я обновил ответ. Прямо сейчас список параметров генерируется из массива @options. Таким образом, вы можете передать произвольное количество ожидаемых параметров. – bvr
В соответствии с вашим кодом, как я могу напечатать элемент @options i, означает параметр и связанный с ним аргумент так же, как тот, который вы предупреждаете о карте в хэш-формате? –