2011-01-28 10 views
6

Soy nuevo en Perl, y estoy jugando. Encontré este código en línea. Aquí es el fragmento de código:palabra clave encontrada donde el operador esperaba

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

Y yo estoy consiguiendo este error: Bareword encontró donde el operador espera cerca "process_input (n, la tarea" línea 83. podría ser un fugitivo de varias líneas de partida cadena ,, en la línea 82.

+7

¿Estás seguro de que es Perl con quien estás jugueteando? –

+7

De acuerdo, parece más un prólogo. – Ether

+4

AFAIK tanto prolog como perl usan ".pl" como su extensión, esa es probablemente la fuente de la confusión. –

Respuesta

9

Un error 'Bareword' es causado por un error de sintaxis en su código. Una 'multi-línea fugitiva' por lo general identifica dónde está el error, y generalmente significa que no se ha completado una línea , a menudo debido a soportes no coincidentes o comillas.

Como han señalado varios SO-ers, t ¡El sombrero no se parece a Perl! El intérprete de Perl se está negando a un error de sintaxis porque no habla ese idioma en particular.