Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Useless use of length in void context", что это такое? 
:(
    Опции темы
ochnev
Дата 11.4.2009, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



При проверке синтаксиса скрипта получил предупреждение:

# perl -c view_ad.fcgi
[Sat Apr 11 01:59:19 2009] view_ad.fcgi: Useless use of length in void context at view_ad.fcgi line 193.
view_ad.fcgi syntax OK

Фрагмент кода:
Код

         my $small_ad = undef;
         my $big_ad = undef;
         my $ad_text_length = length($ad_text);
         if($ad_text_length => 185 && $ad_text_length < 285) {
             $small_ad = 1;
         }
         if($ad_text_length >= 285) {
             $big_ad = 1;
         }


Выделенная строка 193, на которую ругается компилятор.
Скрипт-то работает, но хотелось бы изменить конструкцию, чтобы в логах потом не было этих варнингов.

Заменил на конструкцию elsif. Тот же самый результат, с той разницей, что на другую строку указывает, вообще за пределами фрагмента этоо кода. Ничего не понимаю.
Что происходит, подскажите, сталкивался?

PM MAIL   Вверх
tolkien
Дата 11.4.2009, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 5.4.2008

Репутация: 4
Всего: 4



У вас здесь
Код

  my $ad_text_length = length($ad_text);

переменная $ad_text имеет значение undef
PM MAIL   Вверх
ochnev
Дата 11.4.2009, 03:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



Цитата(tolkien @ 11.4.2009,  03:18)
У вас здесь
Код

  my $ad_text_length = length($ad_text);

переменная $ad_text имеет значение undef

Судя по поведению скрипта на сайте, переменная $ad_text имеет ожидаемое значение, отличное от undef.

PM MAIL   Вверх
amg
Дата 11.4.2009, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



У Вас там в одном месте явная опечатка:
вместо
$ad_text_length => 185
надо
$ad_text_length >= 185

Даже если и не в ней дело, все равно лучше исправить smile 

Вообще странно, что ругань на length. По идее, ругаться нужно бы было на использование переменной in void context и на ту строку, где вышеупомянутая опечатка.

Это сообщение отредактировал(а) amg - 11.4.2009, 07:47
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.