|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 21 Mar 2002 02:52:52 To : Alexey Pchelnikov Subject : Re: вопрос -------------------------------------------------------------------------------- "Alexey Pchelnikov" <alex-ptschel@mtu-net.ru> wrote in message news:a7b0o2$ps7$1@host.talk.ru... > Почему нельзя пытаться (Perl выдаёт предупреждение) измерить длину > неинициализированной переменной? Потому, что неинициализированная переменная содержит значение undef ("неопределено"). И хотя в большинстве выражений undef трактуется как пустая строка, Вас честно предупреждают о некорректности такого подхода. > Имеет ли смысл вот такой код: > if (length($a)!=0) > > заменить на: > if ( ($a) && (length($a)!=0) ) Если $a может быть undef, то имеет. Hо не на эту, поскольку эта полностью эквивалентна if ($a) и ошибочна, а на if (defined($a) && length($a)) > Если да, то почему? По здравому смыслу, правилам хорошего стиля и предупреждениям интерпретатора. Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577901d1fae.html, оценка из 5, голосов 10
|