Я только что заметил странное поведение perl5 (5.10.0), когда я передал 0 в качестве аргумента командной строки скрипту, который присваивает его переменной.Проблема, с которой я столкнулся, заключается в том, что если я задаю для переменной значение по умолчанию в моем скрипте, которое больше 0, скажем, 1, то я могу передать любое значение, кроме 0, чтобы переопределить значение по умолчанию 1.
Ниже приведенокод 'test.pl', который я использовал:
#!/usr/bin/perl -w
my $x = shift || 1;
print "x is $x\n";
Ниже приведены команды и выходы, когда я его тестировал:
$ ./test.pl 2
x is 2
$ ./test.pl 0
x is 1
Буду признателен, если кто-нибудь сможет пролить свет на это,Благодарю.wwl