我正在寻找一个可以以某种方式对图片进行切片并将其粘贴到地球仪(球体)上的程序。我在这个网站上找到了 ip-slicer。http://www.bruno.postle.net/2001/ip-slicer/ 我遇到的问题是我不知道应该在哪里输入命令行。例如,在运行程序并输入此行“sphere-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
您给出的错误消息表明您运行了该perl
命令然后输入了“ sphere-slicer.pl 16 1000 input.jpg
”。
这是一个合理的猜测,但这不是 Perl 的工作方式。Perl 是一个解释语言,并且可以从脚本(文件.pl
)或“标准输入”(即运行 perl 后键入的内容)读取其程序。
因此,当您输入“ sphere-slicer.pl 16 1000 input.jpg
”时,它实际上是在告诉您:“嗯?您说的不是我的语言。”(错误会告诉您具体来说它不明白什么,如果你是输入 Perl 但犯了一个错误。在这里,你根本没有输入 Perl — 你输入的是 shell 命令行,它实际上是是另一种语言。
幸运的是,这个问题很容易纠正。如果你的命令行是 Linux、Mac 或 Windows 下的 Cygwin,你可以使脚本可执行,然后在当前目录中引用其路径,如下所示:
chmod +x sphere-slicer.pl
./sphere-slicer.pl 16 1000 input.jpg
或者,您只需在命令前加上前缀perl
,perl 程序就会从其第一个参数读取脚本并传递其余部分。所以:
perl sphere-slicer.pl 16 1000 input.jpg