|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Eugene Grosbein 2:5006/1 07 Jun 2002 17:26:06 To : Vlad Subject : Re: fetchrow --------------------------------------------------------------------------------
EG>> if(defined(@status) && defined($status[0]) { # тут регулярно
EG>> # возникает warning (когда
EG>> # нет строк) - почему?
V> Во-первых, круглую скобку пропустил в блоке if. А во-вторых, зачем
V> проверять $status[0], если у тебя уже получается что массив есть
V> (пусть даже из одного элемента состоящий). В том случае, когда ничего
V> не вернулось, ты все равно пытаешься получить первый элемент, вот и
V> ругается правильно компилятор.
В общем, я переписал так:
if(defined(@status)) {
if(defined($status[0]) {
...
}
}
И выяснил, что когда ни одной строки не возвращается, то defined(@status)
истинно, а проверка на defined($status[0]) выдает warning.
Hичего не понимаю.
Eugene
--
"Люди забыли эту истину," - сказал Лис, - "но ты не забывай"
--- slrn/0.9.7.4 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/26093ac4489ed.html, оценка из 5, голосов 10
|