perl | Cuerdas multilínea | Aquí Documento

Una string en Perl es una variable escalar y puede contener letras, números, caracteres especiales. La string puede consistir en una sola palabra, un grupo de palabras o un párrafo de varias líneas. Se requiere una string de varias líneas en un escenario en el que el usuario desea un párrafo completo o un grupo de párrafos como una string y, para ello, debe conservar los espacios y el salto de línea. La string de varias líneas se puede crear de varias maneras.

String multilínea usando comillas simples y dobles

El usuario puede crear una string de varias líneas usando comillas simples («») y también con comillas dobles («») . El uso de comillas dobles hace que las variables incrustadas en la string sean reemplazadas por su contenido, mientras que en comillas simples el nombre de las variables sigue siendo el mismo .

Ejemplo:

# Perl code to illustrate the multiline 
# string using single quotes and 
# double quotes
  
# consider a string scalar
$GeeksforGeeks = 'GFG';
  
# multiline string using double quotes
$mline = "This is multiline 
  
string using double quotes
  
on $GeeksforGeeks";
      
# displaying result    
print "$mline\n\n\n\n";
  
# multiline string using single quotes
$multi_line = 'This is multiline 
  
string using single quotes
  
on $GeeksforGeeks';
      
# displaying result    
print "$multi_line\n";

Producción:

This is multiline 

string using double quotes

on GFG



This is multiline 

string using single quotes

on $GeeksforGeeks

String de varias líneas usando Here Document

Here Document es una forma alternativa para múltiples declaraciones de impresión. Un Here-Document también se puede utilizar para strings de varias líneas. Declara un delimitador al principio para saber hasta dónde debe ingresar la string. Un Here-Document comienza con ‘<<‘ seguido del delimitador elegido por el usuario. La string lee el código hasta que vuelve a aparecer el delimitador y todo el texto intermedio se toma como la string.

Ejemplo:

# Perl code to illustrate the multiline 
# string using Here-Document
  
# consider a string scalar
$GeeksforGeeks = 'GFG';
  
# defining multiline string using 
# ending delimiter without any quotes
$deli = <<string_ending_delimiter;
  
Multiline string using 
      
     Here-Document on 
      
    $GeeksforGeeks
  
string_ending_delimiter
  
# displaying result 
print "$deli\n\n";
  
# defining multiline string using 
# ending delimiter with double quotes
$deli = <<"string_ending_delimiter";
  
Multiline string using 
      
     Here-Document on 
      
    $GeeksforGeeks
  
string_ending_delimiter
  
# displaying result 
print "$deli\n\n";
  
# defining multiline string using 
# ending delimiter with single quotes
$deli = <<'string_ending_delimiter';
  
Multiline string using 
      
     Here-Document on 
      
    $GeeksforGeeks
  
string_ending_delimiter
  
# displaying result 
print "$deli\n\n";

Producción:

Multiline string using 
    
     Here-Document on 
    
    GFG




Multiline string using 
    
     Here-Document on 
    
    GFG




Multiline string using 
    
     Here-Document on 
    
    $GeeksforGeeks

Explicación: en el código anterior, si el delimitador se coloca entre comillas dobles, las variables incrustadas en la string se reemplazarán por su contenido, como la variable GeeksforGeeks reemplazada por GFG y esto se denomina Interpolating Here Document . Si el delimitador se coloca entre comillas simples, las variables incrustadas en la string no se reemplazarán por su contenido y esto se denomina Documento aquí sin interpolación . Recuerde que si el delimitador no se pone entre comillas, por defecto se consideran comillas dobles alrededor de eso.

Nota: Se recomienda usar el mismo delimitador al final de la string exactamente como estaba al principio, lo que significa que no debe haber espacios en blanco antes ni después del delimitador. De lo contrario, Perl no lo reconocerá y dará el error. En otras palabras, el usuario no puede sangrar la etiqueta final para que coincida con la sangría del resto de su código.

Ejemplo:

# Perl code to illustrate the error by 
# changing the ending delimiter
  
# consider a string scalar
$GeeksforGeeks = 'GFG';
  
# defining multiline string using 
# ending delimiter without any quotes
$deli = <<string_ending_delimiter;
  
Multiline string using 
      
     Here-Document on 
      
    $GeeksforGeeks
  
   string_ending_delimiter

Error de tiempo de ejecución:

No se puede encontrar el terminador de string «string_ending_delimiter» en ningún lugar antes de EOF en /home/1873b0a5dae105b4bfa82e3c79f156c5.pl línea 9.

Publicación traducida automáticamente

Artículo escrito por Pathak7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *