Programación en Perl/Función/print
Sintaxis
editar
- print FILEHANDLE LISTA
- print LISTA
- print
En donde
LISTA
es un @array.
Descripción
editarImprime una cadena de texto o una lista de cadenas.
Comillas dobles Interpolan
editarLas 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.
Si añades otra instrucción (como otro print) AÑADE un puntocoma ; al final.
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
editarAquí algunos ejemplos de uso de la función print
.
print { $files[$i] } "stuff\n";
print { $OK ? STDOUT : STDERR } "stuff\n";