• Publicidad

Agregar carácter especial (") a una cadena

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

Agregar carácter especial (") a una cadena

Notapor JoshZeta » 2015-08-26 13:26 @601

Buenas tardes, otra vez por acá molestando :roll: :D

Como indica el título quiero agregar un carácter especial: las comillas (") a una cadena. Para que me entiendan mejor:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $palabra = "Nombre" ;
  2. #$palabra2 =  " + $palabra + " ;  ????
  3. $palabra2 =  " "Nombre"  " ;
  4.  
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

No quiero agregar las comillas en un print(), sino que se guarde el valor de la primera cadena junto con sus comillas (inicio y fin) en otra variable.

De antemano, gracias por la ayuda :D
JoshZeta
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2015-08-20 11:40 @527

Publicidad

Re: Agregar carácter especial (") a una cadena

Notapor explorer » 2015-08-26 13:59 @624

Puedes usar el operador qq(), que hace las mismas funciones que las comillas, para lograr la interpolación de la variable, más la incorporación de las comillas:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $palabra  = "Nombre";
  2. $palabra2 = qq("$palabra");
  3. say $palabra2;                  # "Nombre"
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Este código hace lo mismo que si agregamos las comillas "a mano":
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $palabra  = "Nombre";
  2. $palabra2 = '"' . $palabra . '"';
  3. say $palabra2;                  # "Nombre"
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Naturalmente, puedes liarte si no tienes una buena vista (es el carácter comillas con entrecomillado simple). Por eso se suele usar algo más aparatoso para que quede claro -muy claro- que estamos entrecomillando:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $palabra  = "Nombre";
  2. $palabra2 = q(") . $palabra . q(");
  3. say $palabra2;                  # "Nombre"
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El operador q() hace lo mismo que la comilla simple (cadena explícita, sin interpolación).

Yo prefiero la primera solución, ya que, obviamente, es más corto de escribir. Pero la tercera forma es muy explícita, y más clara de leer para el programador que vaya a mantener el código.
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

Re: Agregar carácter especial (") a una cadena

Notapor JoshZeta » 2015-08-28 10:27 @477

¡¡¡Genial, explorer!!! Probé con las tres opciones y me funcionaron. Optaré por la tercera opción para un mejor mantenimiento del código :D ¡¡Gracias!! :)
JoshZeta
Perlero nuevo
Perlero nuevo
 
Mensajes: 13
Registrado: 2015-08-20 11:40 @527


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 17 invitados