Uma string em Perl é uma variável escalar e começa com um sinal ($) e pode conter alfabetos, números, caracteres especiais. A string pode consistir em uma única palavra, um grupo de palavras ou um parágrafo de várias linhas. A String é definida pelo usuário entre aspas simples (') ou aspas duplas (“). 
  
 

Strings citados

  
Em Perl, as strings podem ser colocadas entre aspas duplas (”“) ou entre aspas simples (''). No entanto, as strings definidas entre aspas simples e aquelas definidas entre aspas duplas são tratadas de maneira diferente.
Strings entre aspas 
duplas : strings com aspas duplas são interpoladas, isto é, nomes de variáveis ​​(escalares, arrayes e hashes) são substituídos por seus valores originais e as sequências de escape (como / t, / n, etc.) fazem seu trabalho. 
O operador qq também pode ser usado no lugar de strings entre aspas duplas.
Strings entre aspas 
simples : strings entre aspas simples não são interpoladas. Eles são interpretados como estão, sem nenhuma modificação. O operador q em Perl fornece o mesmo uso que a string entre aspas simples.
Exemplo: 
 

#!/usr/bin/perl
 
# An array of integers from 1 to 10
@list = (1..10);
 
# Non-interpolated string
$strng1 = 'Using Single quotes: @list';
 
# Interpolated string
$strng2 = "Using Double-quotes: @list";
print("$strng1\n$strng2");
Saída: 
Usando aspas simples: @list 
Usando aspas duplas: 1 2 3 4 5 6 7 8 9 10

 

  
 

Interpolação de Strings

  
A interpolação de Strings com o uso de aspas duplas pode às vezes ser complicada porque algumas strings contêm símbolos que podem ser inúteis quando interpolados. Por exemplo: símbolo '@' usado para escrever endereços de e-mail. Quando um endereço de e-mail deve ser armazenado em uma string entre aspas duplas, o sinal 'arroba' (@) é interpolado automaticamente e é considerado o início do nome de uma array e é substituído por ele. Se um array com esse nome for encontrado, ele substituirá o nome do array pelos valores do array ou será deixado em branco se não existir um array com esse nome.
Exemplo: 
 

#!/usr/bin/perl
 
# Assigning a variable with an email address
# using double-quotes
$email = "GeeksforGeeks0402@gmail.com";
 
# Printing the interpolated string
print($email);
Saída: 
GeeksforGeeks0402.com

 

No exemplo acima, a string ($email) é interpolada e @gmail é substituído por uma array chamada '@gmail', mas como nenhuma array com esse nome é encontrada, @gmail é removido, mas não é substituído e, portanto, “GeeksforGeeks0402.com ”É impresso.
No exemplo abaixo, @gmail foi predefinido e, portanto, é substituído no lugar de @gmail. 
Exemplo: 
 

#!/usr/bin/perl
 
# Pre-defining the array
@gmail = (a..g);
 
# Assigning a variable with an email
# address using double-quotes
$email = "GeeksforGeeks0402@gmail.com";
 
# Printing the interpolated string
print($email);
Saída: 
GeeksforGeeks0402a bcdef g.com

 

Isso pode ser corrigido usando aspas simples no lugar de aspas duplas. Atribuir a string à variável com o uso de aspas simples removerá a interpolação e, portanto, o '@' não será considerado uma declaração de array. 
Exemplo: 
 

#!/usr/bin/perl
 
# Assigning a variable with an email address
# using single-quotes
$email = 'GeeksforGeeks0402@gmail.com';
 
# Printing the non-interpolated string
print($email);
Saída: 
GeeksforGeeks0402@gmail.com

 

A solução acima para o problema de interpolação contém uma desvantagem. E se houver necessidade de substituir o valor de uma variável na string junto com o uso do símbolo '@'. Então este método não terá utilidade, pois aspas simples não permitirão a substituição do valor da variável. Para superar essa situação, o caractere de escape, ou seja, a barra invertida (\), é usado. A barra invertida é inserida logo antes de '@' conforme mostrado abaixo: 
 

#!/usr/bin/perl
 
# Assigning a variable with an email
# address using double-quotes
# Note: Using '\' to escape the
# interpolation of '@'
$email = "GeeksforGeeks0402\@gmail.com";
 
# Printing the interpolated string
print($email);
 
# variable to be substituted
$name = "GeeksforGeeks";
 
# variable to store the string
$email2 = "\n$name\@gmail.com";
 
# Printing the interpolated string
print($email2);
Saída: 
GeeksforGeeks0402@gmail.com
GeeksforGeeks@gmail.com

 

  
 

Fugindo do personagem de escape

  
A barra invertida é o caractere de escape e é usada para fazer uso de sequências de escape. Quando houver necessidade de inserir o caractere de escape em uma string interpolada, a mesma barra invertida é usada, para escapar da substituição do caractere de escape por ”(espaço em branco). Isso permite o uso de caractere de escape na string interpolada.
Exemplo: 
 

#!/usr/bin/perl
 
# Using Two escape characters to avoid
# the substitution of escape(\) with blank
$string1 = "Using the escape(\\) character";
 
# Printing the Interpolated string
print($string1);
Saída: 
Usando o caractere de escape (\)

 

  
 

Escapando aspas duplas

  
O uso de aspas duplas em uma string significa o fim da string e, portanto, não pode ser inserido diretamente. Para inserir aspas duplas em uma string interpolada, a barra invertida é usada logo antes das aspas duplas para escapar de sua interpolação.
Exemplo: 
 

#!/usr/bin/perl
 
# Escaping double-quotes with '\'
$string = "This page is \"Geeks For Geeks\".";
 
# Printing the interpolated string
print($string);
Saída: 
Esta página é "Geeks For Geeks".