裸字出现在需要操作符的地方

8

我是perl的新手,正在摸索中。我在网上找到了这段代码。

以下是代码片段:

82 process_input(q,[]).
83 process_input(n,Task) :- toptask(Task), set_new_threshold.
84 process_input(s,Task) :- suggest_task(T),
85         apply(addtoagenda,T),toptask(Task).
86 process_input(x,Task) :- print('not yet implemented'),nl,toptask(Task).
87 process_input(i,Task) :- user_task,toptask(Task).

我遇到了这个错误:“Bareword found where operator expected near“ process_input(n,Task” line 83.Might be a runaway multi-line ,, string starting on line 82."

可能是从第82行开始的跨行字符串失控。


8
你确定你正在摆弄的是 Perl 吗? - Eric Strom
7
同意,那看起来更像是Prolog。 - Ether
6
据我所知,Prolog和Perl都使用".pl"作为它们的文件扩展名,这可能是混淆的源头。 - mu is too short
1个回答

10

'裸字错误'是由于代码中的语法错误引起的。'runaway multi-line'通常可以确定错误的开始位置,并且通常意味着一行代码未完成,这往往是由于括号或引号不匹配造成的。

正如几位SO社区成员所指出的那样,这看起来不像Perl! Perl解释器因为不认识这种特定的语言而产生了语法错误!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接