Я пытаюсь захватить 3D-вектор как один входной аргумент командной строки, используя Perl (v5.14.2).Perl Getopt :: Long, похоже, не изменяет существующие значения в массиве
После прохождения Getopt::Long documentation, я решил начать с этого:
use Getopt::Long;
my @boxSize = (0, 0, 0);
GetOptions('box:f{3}' => \@boxSize);
print "Box size: $boxSize[0], $boxSize[1], $boxSize[2]\n";
Запуск этого сценария с аргументами -box 1.0 2.0 3.0
Урожайность:
Box size: 0 0 0
Теперь, если я оставлю @boxSize
неинициализированный:
use Getopt::Long;
my @boxSize; #= (0, 0, 0);
GetOptions('box:f{3}' => \@boxSize);
print "Box size: $boxSize[0], $boxSize[1], $boxSize[2]\n";
Тот же самый скрипт сейчас r eturns:
Box size: 1.0 2.0 3.0
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Добро пожаловать в SO! Обычно мы не добавляем заявление благодарности, чтобы держать вещи незагроможденными. Чтобы поблагодарить людей, которые помогут вам быть уверенными в том, чтобы поддержать хорошие ответы и принять лучшее. Спасибо всем, что нам нужно :-). Хороший первый вопрос кстати. –