Programación en Perl/Función/print

print editar

Sintaxis editar

  • print FILEHANDLE LISTA
  • print LISTA
  • print

En donde LISTA es un @array.

Descripción editar

Imprime una cadena de texto o una lista de cadenas.

Comillas dobles Interpolan editar

Las cadenas encerradas entre comillas dobles (") pueden ser interpoladas si tienen alguna variable, es decir se analizan las variables dentro de texto.

Al contrario, con las comillas simples(') no se interpola la cadena.

Basta un ejemplo para explicarlo.

$dia_noche = 'dia';
print 'Hola, mundo \nhoy es de $dia_noche.';

Resultado:

Hola, mundo\nhoy es de $dia_noche.
Otra vez, pero ahora con comillas dobles:
$dia_noche = 'dia';
print "Hola, mundo \nhoy es de $dia_noche.";

Resultado:

Hola, mundo\nhoy es de dia.

Como resultado se observa que la cadena fue interpolada.

Con estos ejemplos se nota la diferencia de usar comillas simples (') o comillas dobles ("), así cuando se dice que una variable es interpolada se entiende que esta variable se encuentra entre comillas dobles, como se mencionó anteriormente.

Nota: Un ; (punto y coma) le indica a Perl la finalización de la sentencia print, esto es rigurosamente necesario para Perl.

 
consejo

Si añades otra instrucción (como otro print) AÑADE un puntocoma ; al final.

 
atención

Un ; será el 99% de las veces, la causa probable del por que tus primeros programas no funcionen.

Uso frecuente editar

* print "cadena";  # Cadena interpolada.
* print 'cadena';  # Cadena no interpolada.
* print $variable; # Imprime el valor de la variable.
* print $variable."cadena".'cadena'; # Une variable con cadena.
* print "cadena $variable"; # Imprime la cadena y el valor de la variable.
* print 'cadena $variable'; # Imprime la cadena sin considerar el valor de la variable.
* print FILE;   # Imprime lo que contiene el manejador de archivos (FILEHANDLE).
* print @lista; # Imprime el contenido de la lista.
* print $_;     # Imprime lo que hay en el buffer temporal.

Ejemplos editar

Aquí algunos ejemplos de uso de la función print.


print { $files[$i] } "stuff\n";
print { $OK ? STDOUT : STDERR } "stuff\n";

Referencias editar

  1. http://perldoc.perl.org/functions/print.html