|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 08 Mar 2002 12:54:42 To : Maksim Pozdeyev Subject : Re: Use of uninitialized value -------------------------------------------------------------------------------- Здравствуй, Maksim Pozdeyev. MP> >> В коде есть такая строка: if ($ARGV[0] eq "") { и т.п. MP> >> Use of uninitialized value in string eq at ./lc line 18. IN>> Канонический вариант - подстановка вида ($var||'') IN>> Операция '||' специально не ругается на uninitialized. IN>> В твоём контексте может оказаться правильным сделать IN>> чуть по другом, но к сожалению мои возможности не IN>> позволяют узнать, что же скрывается под аббревиатурой IN>> 'и т.п.' MP> Hу меня уже просветили на тему if (defined($ARGV[0]) && $ARGV[0] eq "") MP> Hо это не работает, или я чей-то не понимаю. А дочитать до конца то письмо, в котором тебя об этом просветили, просветления не хватило? Пывбывав бы... MP> Мне нужно узнать, MP> передали-ли программе параметры в командной строке и если нет, то MP> выполнить определенные действия. В данном случае характерная идиома - unless (@ARGV). Ибо если параметров нет (и ТОЛЬКО в этом случае - если $ARGV[0] eq "", то передан один параметр, равный пустой строке) @ARGV пуст. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11308809301a1.html, оценка из 5, голосов 10
|