Continuando os posts sobre Perl, vamos aprender um pouco sobre citações ou quotes de strings.

Podemos declarar strings em Perl como no post anterior ou utilizando alguns operadores de strings.

my $TEXTO = “Mundo SubMundo”;

ou

my $TEXTO = qq(Mundo SubMundo);

Você também pode criar um tipo de “delimitador”, veja o exemplo abaixo:

my $TEXTO = q/ exemplos ‘de’ quotes /;

Atualizado 09/02/2010
O Daniel Mantovani encontrou um erro e deixou um comentário  interessante sobre interpolação em Perl. Acho que meu último post e esse não ficaram tão claros assim, foi mal.

O que é Interpolação de Variáveis?

Pela definição do livro Learning Perl, quando uma string está utilizando double-quoted, ” “,  ela está suscetível a interpolação de variável, isto é, o nome da variável será substituído pelo conteúdo que ela carrega. Por exemplo:

my $MUNDO=”Submundo”;
print “Bem vindo ao Mundo: $MUNDO”;

ou

my $NOME=”Knuth – Darth Vader,”;
my $MUNDO=qq($NOME brilha muito no Submundo);
print “Exemplo: $MUNDO \n”;

Outro exemplo do Livro Professional PERL Programming.

$text = qq{ “$interpolated” ($text) ‘and quotes too’ };

Você pode criar delimitadores lógicos, ou seja, se você inicia um delimitador com { o Perl espera que você termine também com }. O código poderia ficar assim:

$interpolated = “Darth”;
$text = ‘Vader $Rulez’;
$text = qq{ “$interpolated” ($text) ‘and quotes too’ };
print $text;

Outro recurso poderoso do Perl é demonstrado quando queremos declarar uma lista de strings separadas por espaços em branco e ” “.

my @vetor = qw(mundo submundo Perl Rulez);

No próximo post mostraremos mais exemplos de variáveis com @vetores.

Boa Sorte.

One thought on “Quotes em Perl

  1. Na verdade existe uma deferença entre:
    my $f = "hello";
    my $g = q/hello/;

    qnd se usa "" vc esta interpolando, qnd vc usa "q" vc n interpola o que esta na string.
    $f = "oi $g";
    $g = 'oi $f';

    oi hello
    oi $f

    qnd vc quiser interpolar use "" ou qq//, qnd for só texto use '' ou q//. (desculpa n explicar melhor eu to no metro usando o celular)

Comments are closed.