Esta es una pregunta muy simple y no crítica. Tengo algunos antecedentes de programación hace eones (comenzando con FORTRAN, eso es hace cuánto tiempo) y estoy trabajando en aprender algunos conceptos básicos de la codificación perl usando Beginning Perl de Simon Cozen. Las asignaciones del capítulo 2 incluyen escribir un programa simple para interpretar una entrada entera (<STDIN>
) e imprimir el entero decimal igual al número. Tengo Windows 7. Cuando se introduce el número entero, el programa emite la advertenciaPerl inicial <STDIN>
Illegal hexadecimal digit '
' ignored at [path] line [the line containing the print instruction], <STDIN> line 1
Entonces lo hace imprimir el número hexadecimal correcto.
El código es
$number = <STDIN>;
print hex($number), "\n";
Cuando cambio el programa para emitir una octal no consigo la advertencia.
La advertencia dice que el dígito ilegal se produce en la línea de impresión aunque hace referencia a la línea STDIN. ¿Tiene que ver con la tecla enter? Si es así, ¿por qué la versión oct del mismo programa no tiene un problema?
Y, en particular, 'chomp ($ number =);' es idiomático. –
Sean
Ver 'perldoc -f chomp' para más detalles. – shawnhcorey