Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Escribir comillas en pantalla

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Sab Sep 06, 2008 1:15 pm
bartg01
Perlero Nuevo
Perlero Nuevo
Registrado: 29 Nov 2007
Mensajes: 20
Escribir comillas en pantalla Responder citando

Parece una tontería mi pregunta y creo que lo es, pero estoy teniendo muchos problemas para encontrar la forma de escribir comillas dobles en pantalla.

Por ejemplo:

$name = el nombre que sea;

print "El tipo en cuestión se llama "$name"";

Lo que quiero que aparezca sería:

El tipo en cuestión se llama "tal nombre"

Pero no hay forma, gracias por la ayuda.

Un saludo, bart.
Mensaje Sab Sep 06, 2008 1:28 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

Perl:
#!/usr/bin/perl -l
$nombre = 'bartg01';
print "El tipo en cuestión se llama \"$name\"";
print qq(El tipo en cuestión se llama "$name");
print "El tipo en cuestión se llama '$name'";

(Bueno, la última no es exactamente "dobles comillas") Smile
Mensaje Sab Sep 06, 2008 1:33 pm
bartg01
Perlero Nuevo
Perlero Nuevo
Registrado: 29 Nov 2007
Mensajes: 20
Responder citando

Genial Explorer, estás a todo.

Muchas gracias, me estaba volviendo loco buscándolo.
Mensaje Dom Sep 07, 2008 2:03 am
Jenda
Perlero Frecuente
Perlero Frecuente
Registrado: 29 Oct 2007
Mensajes: 104
Ubicación: Praga, Republica Checa
Responder citando

Otra posibilidad es usar el operador qq con cualquier aislador que te conviene:

Perl:
print qq#El tipo en cuestión se llama \"$name\"#;
print qq{El tipo en cuestión se llama \"$name\"};
print qq(El tipo en cuestión se llama \"$name\");
print qq*El tipo en cuestión se llama \"$name\"*;
...
Mensaje Dom Sep 07, 2008 1:26 pm
L0rd5had0w
Perlero Nuevo
Perlero Nuevo
Registrado: 09 Ago 2008
Mensajes: 24
Ubicación: Guatemala, Guatemala
Responder citando

Gracias, explorer. No sabía de la existencia de este operador qq. Gracias...
Perl:
#!/usr/bin/perl -w
use strict;
my $var = 55;
print qq(mi variable es:\t),$var;
Mensaje Dom Sep 07, 2008 1:41 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

El operador qq() es mejor usarlo cuando queremos usar las comillas dobles en situaciones donde no tienen el significado de la interpolación de variables.

En el ejemplo que has puesto, no es necesario usarlo:
Perl:
#!/usr/bin/perl -w
use strict;
my $var = 55;
print "mi variable es:\t$var";


Otra cosa distinta es usar '"' dentro de la frase:
Perl:
#!/usr/bin/perl -w
use strict;
my $var = 55;
print qq(mi variable es:\t"$var");


Yo lo uso mucho en los scripts Perl de una línea, en la línea de comandos.

bash:
perl -le '$var=55; print qq("Extraña variable": $var\n)'


Más información, en perldoc -f perlop
Mensaje Dom Sep 07, 2008 1:58 pm
L0rd5had0w
Perlero Nuevo
Perlero Nuevo
Registrado: 09 Ago 2008
Mensajes: 24
Ubicación: Guatemala, Guatemala
Responder citando

mmm es que yo la usé en el ejemplo solo para ver su funcionamiento pero tienes razón es mejor utilizarlo en esa situación... gracias...
Mensaje Dom Sep 07, 2008 2:12 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

Tranquilo... en Perl se puede hacer todo de diez formas distintas.

Lo importante es que el programa funcione. Que queda más o menos bonito ya depende de la experiencia de cada uno.

Ultima edición por explorer el Dom Sep 07, 2008 3:20 pm, editado 1 vez
Mensaje Dom Sep 07, 2008 2:57 pm
L0rd5had0w
Perlero Nuevo
Perlero Nuevo
Registrado: 09 Ago 2008
Mensajes: 24
Ubicación: Guatemala, Guatemala
Responder citando

Gracias. ¿Y dónde encuentro la documentación de las diez formas de uso...?
Mensaje Dom Sep 07, 2008 3:23 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

En el documento perlsyn está un ejemplo, de cómo construir una estructura switch (que Perl no tiene, por defecto, hasta la versión 5.10), pero esas diez formas distintas las aprenderás cuanto más código Perl leas.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group