[SP-pm] Desculpa a lista
André Garcia Carneiro
andre.garcia.carneir em terra.com.br
Quarta Junho 11 05:20:12 PDT 2008
Explicando da forma mais simples que eu posso:
$variavel = shift;
isso é a mesma coisa que
$variavel = shift @_;# Isso não ajudou muito né? Leia o resto do e-mail, por favor!
@_ é uma variável especial em perl. Diz-se que é o 'array padrão'. Quando você omite o array usando 'my
$variavel = shift', por exemplo, Perl assume automaticamente que você está querendo o retirar o primeiro
elemento do array @_(Por isso diz-se que @_ é o array padrão). Essas variáveis especiais são como 'atalhos'
para resolver problemas 'cotidianos'(mas nem sempre) em programação, como capturar parâmetros por exemplo:
<code>
!# /usr/bin/perl
use strict;
my $result = &minha_subrotina('Hey! Eu sou uma string :p ');#você pode omitir o '&' se quiser. Não me lembro se
isso é recomendado em Perl Best Pratices*...
print $result;
sub minha_subrotina {
my $var = shift;#capturando o parâmetro enviado pela chamada à subrotina, nesse caso 'Hey! Eu sou uma
string'.
return $var.'-exemplo didático';#concatenando $var com -exemplo didático e retornando $var
}
</code>
Para saber mais sobre variáveis especiais: perldoc perlvar.
O my é um operador usado para fazer declaração de variáveis(Ah... mas perl não precisa disso certo? ERRADO!).
Recomenda-se fortemente que se faça declarações utilizando my/our/local (our e local também são operadores para
declaração), para garantir que você mantenha suas variáveis dentro dos seus respectivos ESCOPOS, ou seja,
evitar que você saia por aí declarando variáveis globais e tendo surtos pscóticos por não conseguir saber
porque seu programa sobrescreve valores de variáveis(perl também é saúde)
Para saber mais sobre declaração: perldoc perlsyn, para saber mais sobre 'my', 'local', e 'our', você pode dar
uma 'sapiada' aqui. Embora eu recomende fortemente que você compre esse livro:
http://unix.com.ua/orelly/perl/prog3/ch04_08.htm
*Perl Best Pratices - livro escrito por Damian Conway, que descreve 'boas práticas de programação', que é
aceito pela comunidade perl mundial.
Cheers!
---------- Cabeçalho original -----------
De: saopaulo-pm-bounces+andre.garcia.carneir=terra.com.br em pm.org
Para: saopaulo-pm em mail.pm.org
Cópia:
Data: Tue, 10 Jun 2008 17:35:56 -0300
Assunto: [SP-pm] Desculpa a lista
>
> Pessoas, queria me desculpar com vocês por atitudes imaturas.
> Sei que tenho muito o que aprender, principalmente sobre Perl, e não existe lugar melhor para o aprendizado,
do que com os Mestres Dobradores de Perl.
> Espero recuperar a elegância natural de um newbie.
> E espero recuperar isso com atitudes e perguntas construtivas.
> Para começar eu não intendi a utilidade do shift quando usado junto à uma variável,
> Exemplo:
> $variavel = shift;
> e também não intendi a utilidade do "My"
> Exemplo:
> my $variavel = shift;
> O My eu sei teoricamente o que ele faz, o shift eu sei usar ele perfeitamente com "Array", para retirar o
primeiro argumento, porém o shift com variável e o My, na prática eu não intendi muito bem, pois como eu já
disse é a minha primeira linguagem de programação.
> Gostaria que me mostrassem programas simples com shift junto à uma variável, e o My, sei que simples para
vocês é dificilimo para mim, então pesso que escolham com cuidado.
>
> Obrigado.
>
> Abraços a todos.
>
> Daniel Mantovani
>
> _________________________________________________________________
> Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video!
> http://video.msn.com/?mkt=pt-br
--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
Mais detalhes sobre a lista de discussão SaoPaulo-pm