undef насчет всего списка сразу

Mike Lykov combr на vesna.ru
Сб Сен 27 19:01:35 CDT 2003


Сегодня день вопросов, не так ли? ;)

поскольку все равно никто не пишет сюда, задам и третий вопрос ;)

@a=("undef");                                                                   
#@a=(1);                                                                        
                                                                                
if (defined @a) { print "aaa!"; }; 

печатает aaa! несмотря ни на что. хоть @a=undef, @a=(undef), @a=(1) ....

вопрос возник в связи с таким куском:

usr Net::Nslookup;
@ns=nslookup(...)

в цикле оно может возвратить список (вероятно, из одного элемента, но иногда
и больше), или вообще ничего не возвратить.

если дальше делать, допустим, split на каждое значение из @ns, то если не
было ничего возвращено, то идет ругань на использование
неинициализированных значений.

обычно определить, инициализировано ли значение, или нет, можно с помощью if
(defined ..), но на переменные действует, а на списки нет. что бы сделать?

-- 
Mike



Подробная информация о списке рассылки Samara-pm