URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9879
[ Назад ]

Исходное сообщение
"Брань на хеш  perl "

Отправлено pevl , 09-Июл-14 18:23 
Ругается на хеш

root@pevl:/home/pevl# killcx
Number found where operator expected at /sbin/killcx line 73, near "'01"
  (Might be a runaway multi-line '' string starting on line 36)
    (Missing operator before 01?)
String found where operator expected at /sbin/killcx line 73, near "01' => '"
    (Missing operator before ' => '?)
syntax error at /sbin/killcx line 73, near "'01"
Bad name after ESTABLISHED' at /sbin/killcx line 73.
root@pevl:/home/pevl#

Сам хеш обьявлен правильно
my %TCP_STATES = (
'01' => 'ESTABLISHED', '02' => 'SYN_SENT',  '03' => 'SYN_RECV',
'04' => 'FIN_WAIT1',   '05' => 'FIN_WAIT2', '06' => 'TIME_WAIT',
'07' => 'CLOSE',       '08' => 'CLOSE_WAIT','09' => 'LAST_ACK',
'0A' => 'LISTEN',      '0B' => 'CLOSING'
);

Чтобы это могло значить


Содержание

Сообщения в этом обсуждении
"Брань на хеш  perl "
Отправлено pavlinux , 09-Июл-14 21:27 
> Чтобы это могло значить

syntax error


"Брань на хеш  perl "
Отправлено михалыч , 10-Июл-14 03:30 
>[оверквотинг удален]
>   (Might be a runaway multi-line '' string starting on line
> 36)
>  (Missing operator before 01?)
> String found where operator expected at /sbin/killcx line 73, near "01' =>
> '"
>  (Missing operator before ' => '?)
> syntax error at /sbin/killcx line 73, near "'01"
> Bad name after ESTABLISHED' at /sbin/killcx line 73.
> root@pevl:/home/pevl#
> Сам хеш обьявлен правильно

На самом деле, "ругается" не на хеш.
Сам хеш, как вы и говорите "обьявлен правильно".

Perl начинает гадать, а где этот косяк ваш?
Пишет же:
(Отсутствует оператор до 01?)
(Отсутствует оператор до ' => '?)

Смотрите внимательно строки начиная с 36.


"Брань на хеш  perl "
Отправлено Skif , 14-Июл-14 00:04 
> Ругается на хеш
> Сам хеш обьявлен правильно
> my %TCP_STATES = (
> '01' => 'ESTABLISHED', '02' => 'SYN_SENT',  '03' => 'SYN_RECV',
> '04' => 'FIN_WAIT1',   '05' => 'FIN_WAIT2', '06' => 'TIME_WAIT',
> '07' => 'CLOSE',       '08' => 'CLOSE_WAIT','09'
> => 'LAST_ACK',
> '0A' => 'LISTEN',      '0B' => 'CLOSING'
> );
> Чтобы это могло значить

Код перед хешем покажите. Скорее всего там пропущен оператор. Сам хеш создан верно.