Я искал программу для нарезки картинок, чтобы как-то наклеить ее на глобус (сферу). Я нашел ip-слайсер на этом сайте. http://www.bruno.postle.net/2001/ip-slicer/ У меня проблема в том, что я не знаю, куда мне вводить командную строку. например, после запуска программы и ввода этой строки «phere-slicer.pl 16 1000 input.jpg »я получаю эту ошибку

Number found where operator expected at - line 72, near "pl 16"
    (Do you need to predeclare pl?)
Number found where operator expected at - line 72, near "16 1000"
    (Missing operator before  1000?)
Bareword found where operator expected at - line 72, near "1000 input"
    (Missing operator before input?)

Эта программа написана на языке Perl.

1 ответ1

2

Сообщение об ошибке указывает на то, что вы запустили команду perl а затем набрали « sphere-slicer.pl 16 1000 input.jpg ».

Это разумное предположение, но Perl работает не так. Perl является интерпретируемым языком и может читать свою программу либо из скрипта (файл .pl ), либо из "стандартного ввода" (что вы получаете, когда вы набираете его после простого запуска perl).

Таким образом, когда вы набираете « sphere-slicer.pl 16 1000 input.jpg », он, по сути, говорит вам:« А? Вы не говоря мой язык.»(Ошибки сказать, что конкретно он не понимал, что было бы полезно , если вы вступаете Perl , но сделать ошибку. Здесь вы вообще не вводите Perl - вы вводите командную строку оболочки, которая буквально является другим языком.)

К счастью, это просто исправлено. Если ваша командная строка - Linux, Mac или Cygwin под Windows, вы можете сделать сценарий исполняемым и затем обратиться к его пути в текущем каталоге, например так:

chmod +x sphere-slicer.pl
./sphere-slicer.pl 16 1000 input.jpg

Или вы можете просто поставить команду перед префиксом perl , и программа perl прочитает скрипт из его первого параметра и передаст остальные. Так:

perl sphere-slicer.pl 16 1000 input.jpg

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .