Uma string é um conjunto finito ordenado de caracteres.

Toda linguagem de programação (com exceção de algumas linguagens exotéricas) trabalha com strings, e de várias formas diferentes. Perl não é exceção.

Existem duas formas principais de representar strings: usando aspas simples e usando aspas duplas. As duas formas não são equivalentes, pois as strings declaradas com aspas duplas fazem a substituição das variáveis quando encontram $.

Exemplo:

  my $name = "Fred";  # equivalente: my $name = 'Fred';
  print 'Hello, $name \n';
  print "Hello, $name \n";

No primeiro print, aparece Hello, $name, sem substituição. No segundo print, $name é tratado como variável, e é feita a substituição, gerando Hello, Fred.

Mas Perl não se limita a representar strings com aspas. Ao tratar com expressões regulares, strings são representadas com a barra (/).

Por exemplo:

  if ($arquivo =~ /^backup*/) {
    print "$arquivo é um arquivo de backup\n";
  }

No condicional, foi usada a instrução que verifica se a string arquivo começa com a substring "backup" através do uso de expressões regulares. A string que representa a expressão regular foi representada como /^backup*/, sendo / o seu delimitador. ^, em uma expressão regular, indica o começo da string, e * indica qualquer string (inclusive a string vazia).