[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