• Publicidad

Mostrar en salida estándar lo que escribas por teclado

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Mostrar en salida estándar lo que escribas por teclado

Notapor alesevimor » 2012-02-14 07:45 @364

Este script tiene que mostrar todo lo que se haya introducido después de introducir los datos por <STDIN>, al pulsar ctrl + D, debe mostrar todo lo introducido.
Esto es lo que tengo hecho:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. while ( $linea = <STDIN> ) {
  2.     @contenido < $linea;
  3. }
  4. foreach $valores (@contenido) {
  5.     print $valores;
  6. }
  7.  
  8.  
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2012-02-14 07:59 @374, editado 2 veces en total
Razón: Formateado de código con Perltidy
alesevimor
Perlero nuevo
Perlero nuevo
 
Mensajes: 25
Registrado: 2012-01-31 15:55 @705

Publicidad

Re: Mostrar en salida estándar lo que escribas por teclado

Notapor explorer » 2012-02-14 07:57 @373

El operador '<' es un comparador lógico que significa 'menor que'. En Perl, porque en otros lenguajes sí que significa lo que has querido decirle a Perl: que guarde el valor de $linea dentro de @contenido. Pero en Perl eso se hace con la función push().

Esta es mi versión:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. @contenido = <STDIN>;
  2. print @contenido;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Al ejecutar <STDIN> en contexto lista, todas las líneas son leídas y "metidas" dentro del array. Luego, solo falta hacer un print(). Los elementos de @contenido saldrán tal cual fueron introducidos.

La solución mínima:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. print <STDIN>;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 41 invitados