Ругается на хеш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'
);Чтобы это могло значить
> Чтобы это могло значитьsyntax error
>[оверквотинг удален]
> (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.
> Ругается на хеш
> Сам хеш обьявлен правильно
> 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'
> );
> Чтобы это могло значитьКод перед хешем покажите. Скорее всего там пропущен оператор. Сам хеш создан верно.