У меня есть sub с некоторыми простыми переменными и переменными, которые я объявляю и использую в sub, но когда я вызываю этот sub, я не могу их объявить.Perl, передавая массив в подпрограмму, имея дело с необъявленными переменными
, например:
sub func{
my ($firm1, $firm2, $possible) = @_;
...
if($possible eq "smth"){ # in case i passed this scalar
}
elsif($possible eq ("smth else" or undef/i_don_t_know)){ # in case i didn't passed this var, but i need it as at least undef or smth like that
}
func(bla, bla, bla); # ok
func(bla, bla); # not ok
Когда я попробовал это, я получил сообщение об ошибке
"Использование неинициализированного значения $ можно в строке эк в test.pl линии ..."
Как это исправить?
Ваш вопрос не имеет ничего общего с декларациями. – melpomene
Это очень помогло бы, если бы вы показали код, который можно скомпилировать под 'use strict' и' use warnings'. – Borodin
Это очень поможет, если вы указали код, который будет скомпилирован под 'use strict' и' use warnings'. Составляя материал, который не является даже кодом Perl, ваш вопрос слишком неоднозначен. – Borodin