Вы должны иметь <STDIN>
вместо <<STDIN>>
.Последний анализируется как heredoc (<<STDIN
) как левый операнд операции правого сдвига (>>
), но правого операнда для правого сдвига нет, поэтому ошибка unexpected ;
.
Обновление: за исключением того, что perl сначала жалуется на отсутствие STDIN, указывающего на конец heredoc.Кажется, что оболочка выполняет код вместо perl, а >>
- это перенаправление, а не сдвиг вправо.В противном случае вышеизложенное все еще применяется.