Perl - ошибка "Use of qw(...) as parentheses is deprecated at..."

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:5bb8f514efa6a62ee3ac376ad0e2ea94' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><img alt=\"Perl логотип\" width=\"140\" height=\"152\" src=\"http://muff.kiev.ua/files/Perl-logo.jpg\" /></p>\n<p class=\"rtejustify\">После очередного обновления софта,&nbsp;обнаружил,&nbsp;что некоторые из скриптов, написанных на&nbsp;<strong>Perl</strong>,&nbsp;сыпят&nbsp;&nbsp;в <strong>/var/log/httpd-error.log&nbsp;</strong>сообщения о ошибках. Пример сообщений:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>[Mon Mar 25 16:22:38 2013] [error] [client 10.227.206.45] <strong>Use of qw(...) as parentheses is deprecated</strong> at /home/test/user.pl line 644., referer: <a href=\"http://test.com/test/user.pl?a=user&amp;id=7\" title=\"http://test.com/test/user.pl?a=user&amp;id=7\">http://test.com/test/user.pl?a=user&amp;id=7</a><br />\n [Mon Mar 25 16:22:38 2013] [error] [client 10.227.206.45] <strong>Use of qw(...) as parentheses is deprecated</strong> at&nbsp;/home/test/user.pl line 848., referer:&nbsp; <a href=\"http://test.com/test/user.pl?a=user&amp;id=7\" title=\"http://test.com/test/user.pl?a=user&amp;id=7\">http://test.com/test/user.pl?a=user&amp;id=7</a><br />\n [Mon Mar 25 16:22:38 2013] [error] [client 10.227.206.45] <strong>Use of qw(...) as parentheses is deprecated</strong> at /home/test/user.pl line 849., referer:&nbsp; <a href=\"http://test.com/test/user.pl?a=user&amp;id=7\" title=\"http://test.com/test/user.pl?a=user&amp;id=7\">http://test.com/test/user.pl?a=user&amp;id=7</a><br />\n &nbsp;</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Связано это с синтаксисом функции <strong>qw</strong>. Теперь саму функцию тоже необходимо брать в скобки. Рассмотрим на примере ошибки в скрипте,&nbsp;строка 644 (в вашем случае,&nbsp;номер строки с ошибкой смотрите в лог-файле).</p>\n<p class=\"rtejustify\">Первоначальный код (ошибочный):</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>($psevdo)=&amp;Get_filtr_fields qw(&nbsp;psevdo );</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Исправленный код (корректный):</p>\n<p class=\"rtejustify\">\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>($psevdo)=&amp;Get_filtr_fields <span style=\"color: #ff0000\"><strong>(</strong></span>qw(&nbsp;psevdo )<strong><span style=\"color: #ff0000\">)</span></strong>;</td>\n</tr>\n</tbody>\n</table>\n</p>\n<p>После заключения функции в скобки, ошибки в лог перестали сыпаться.</p>\n<p>&nbsp;</p>\n', created = 1767365426, expire = 1767451826, headers = '', serialized = 0 WHERE cid = '2:5bb8f514efa6a62ee3ac376ad0e2ea94' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767365426, expire = 1767451826, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767365426, expire = 1767451826, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

Perl логотип

После очередного обновления софта, обнаружил, что некоторые из скриптов, написанных на Perl, сыпят  в /var/log/httpd-error.log сообщения о ошибках. Пример сообщений:

[Mon Mar 25 16:22:38 2013] [error] [client 10.227.206.45] Use of qw(...) as parentheses is deprecated at /home/test/user.pl line 644., referer: http://test.com/test/user.pl?a=user&id=7
[Mon Mar 25 16:22:38 2013] [error] [client 10.227.206.45] Use of qw(...) as parentheses is deprecated at /home/test/user.pl line 848., referer:  http://test.com/test/user.pl?a=user&id=7
[Mon Mar 25 16:22:38 2013] [error] [client 10.227.206.45] Use of qw(...) as parentheses is deprecated at /home/test/user.pl line 849., referer:  http://test.com/test/user.pl?a=user&id=7
 

Связано это с синтаксисом функции qw. Теперь саму функцию тоже необходимо брать в скобки. Рассмотрим на примере ошибки в скрипте, строка 644 (в вашем случае, номер строки с ошибкой смотрите в лог-файле).

Первоначальный код (ошибочный):

($psevdo)=&Get_filtr_fields qw( psevdo );

Исправленный код (корректный):

($psevdo)=&Get_filtr_fields (qw( psevdo ));

После заключения функции в скобки, ошибки в лог перестали сыпаться.

 

Ваша оценка: Нет Средняя: 4.3 (4 голоса)

Вставай, Україно!

Литература

Выражение Админа "завести нового пользователя" не означает смерть последнего на российских болотах.