2011-01-28 11 views
6

Sono nuovo a Perl, e sto scherzando. Ho trovato questo codice online. Ecco il frammento di codice:bareword trovato dove l'operatore si aspettava

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). 

E sto ottenendo questo errore: bareword trovato in cui l'operatore atteso vicino "process_input (n, Task" linea 83. potrebbe essere un fuggiasco multilinea ,, stringa di partenza on line 82.

+7

sei sicuro del suo Perl con cui stai giocando? –

+7

D'accordo, sembra più un prologo. – Ether

+4

AFAIK sia prolog che perl usano ".pl" come estensione, probabilmente è la fonte della confusione. –

risposta

9

Un errore "Bareword" è causato da un errore di sintassi nel codice. Un "multi-line in fuga" di solito individua l'inizio dell'errore e in genere indica che una riga non è stata completata spesso a causa di parentesi o virgolette non corrispondenti

Come è stato sottolineato da diversi SO-ers, t cappello non sembra Perl! L'interprete Perl sta rispondendo a un errore di sintassi perché non parla quella particolare lingua!

Problemi correlati