Я планирую передать две переменные функции perl, одна из которых может быть необязательной. Я пытаюсь проверить, определен ли второй, или нет, но он работает неправильно. Когда я вызывал функцию как myFunction (18), она предполагает, что переменная $optional определена и переходит к инструкции else. Но в инструкции else, когда обращается к переменной $option, она выдает "неинициализированную" ошибку. Это точно противоположно тому, что я ожидал. Любая помощь приветствуется.
sub myFunction {
my ($length, $optional) = (@_);
if(undef($optional)
{
more code..
}
else
{
more code...
}
}
myFunction(18)