Cómo escribir comillas dobles " "
Resuelto
helmii
Mensajes publicados
35
Estado
Miembro
-
[Dal] Mensajes publicados 6122 Fecha de registro Estado Colaborador Última intervención -
[Dal] Mensajes publicados 6122 Fecha de registro Estado Colaborador Última intervención -
Salut à tous, j'ai un tableau @array et je veux affecter la chaîne de caractères entre parenthèses (user "aaa") à $array[12]
voilà mon code $array[12]=" user "aaa" ";
Rien ne change pour $array[12] et c'est à cause des deux guillemets (" ") je pense parce que quand je les enlève de telle manière $array[12]=" user aaa "; le changement est effectué !! comment peut-on écrire les deux guillemets sans qu'ils soient considérés comme des délimiteurs de chaîne de caractères ?? Merci pour votre aide.
voilà mon code $array[12]=" user "aaa" ";
Rien ne change pour $array[12] et c'est à cause des deux guillemets (" ") je pense parce que quand je les enlève de telle manière $array[12]=" user aaa "; le changement est effectué !! comment peut-on écrire les deux guillemets sans qu'ils soient considérés comme des délimiteurs de chaîne de caractères ?? Merci pour votre aide.
3 respuestas
Hola helmii,
1.
Puedes hacer como se sugiere en las respuestas anteriores, escapando las comillas ("comillas dobles") contenidas dentro de tus comillas.
2.
Otra forma de hacerlo, si tu contenido no necesita ser interpolado y no incluye apóstrofes, es simplemente usar el apóstrofe como delimitador de cadena:
3.
Si necesitas interpolar el contenido, y te da pereza escapar las comillas, puedes usar qq:
(nota: "qq" es para "comillas dobles", también hay "q" para "comillas simples" que es equivalente al apóstrofe, para no interpolar)
4.
Finalmente, también está el heredoc, si necesitas poner texto con comillas, apóstrofes, saltos de línea,...
En no interpolado con apóstrofes alrededor del marcador que identifica el final del bloque:
en versión interpolada, con comillas en su lugar, o sin nada:
EOT es un ejemplo, puedes poner lo que quieras. Por convención se pone en mayúsculas. El ; solo después del bloque es opcional, me gusta ponerlo para evitar la advertencia que podría teóricamente aparecer como se señaló al final de esta sección de Perldoc.
Fuentes para profundizar:
https://perldoc.perl.org/perlop#Quote-and-Quote-like-Operators
https://perldoc.perl.org/perlop#Quote-Like-Operators
Dal
1.
Puedes hacer como se sugiere en las respuestas anteriores, escapando las comillas ("comillas dobles") contenidas dentro de tus comillas.
$array[12]=" user \"aaa\" ";
2.
Otra forma de hacerlo, si tu contenido no necesita ser interpolado y no incluye apóstrofes, es simplemente usar el apóstrofe como delimitador de cadena:
$array[12]=' user "aaa" ';
3.
Si necesitas interpolar el contenido, y te da pereza escapar las comillas, puedes usar qq:
$array[12]= qq( user "$username" );
(nota: "qq" es para "comillas dobles", también hay "q" para "comillas simples" que es equivalente al apóstrofe, para no interpolar)
4.
Finalmente, también está el heredoc, si necesitas poner texto con comillas, apóstrofes, saltos de línea,...
En no interpolado con apóstrofes alrededor del marcador que identifica el final del bloque:
$array[12] = <<'EOT'; tengo un array @array y quiero asignar la cadena de caracteres entre paréntesis (user "aaa") a $array[12] aquí está mi código $array[12]=" user "aaa" "; Nada cambia para $array[12] y es EOT ;
en versión interpolada, con comillas en su lugar, o sin nada:
$array[12] = <<EOT; Este usuario se llama $prenom, $nom. Tiene $age años. Vive en $adresse. EOT ;
EOT es un ejemplo, puedes poner lo que quieras. Por convención se pone en mayúsculas. El ; solo después del bloque es opcional, me gusta ponerlo para evitar la advertencia que podría teóricamente aparecer como se señaló al final de esta sección de Perldoc.
Fuentes para profundizar:
https://perldoc.perl.org/perlop#Quote-and-Quote-like-Operators
https://perldoc.perl.org/perlop#Quote-Like-Operators
Dal