<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
A parte de ler o e-mail é porque eu comecei ler de cima para baixo, depois que eu vi que<br>$variavel = shift , é a mesma coisa que $variavel = shift @_.<br>Agora deu para intender agora eu já consigo intender este programa aqui;<br><code><br>foreach ( 1 .. 10 ) { #repete 10x<br>print "$_! = " . fatorial($_) . "\n"; #imprime o valor $_! = (Quanto vale o factorial ) newline<br>}<br><br>sub fatorial<br>{<br>my $numero = shift; #retira o valor que está entre () no caso 1,2,3,4,5,6,7,8,9,10, e o valor só existe enquanto está sendo executado é uma variável de escopo léxico, assim que termina a variável de escopo léxico ela é destruida.<br><br>if ($numero <= 1 ) {<br>return 1 #se o valor retirado de () for 1 ou menor do que 1 retorna o valor 1 para factorial<br>}<br>else {<br>return $numero * fatorial($numero -1); # caso ao contrario a váriavel numero * quanto vale factorial -1<br>}<br>}<br><code><br><br><br><span style="font-weight: bold;">Daniel Mantovani</span><br>"A sabedora é a virtude dos sábios."<br>"Até um tolo pode passar por sábio e inteligente se ficar calado"<br><br><br>> Date: Wed, 11 Jun 2008 10:20:12 -0200<br>> From: andre.garcia.carneir@terra.com.br<br>> To: saopaulo-pm@mail.pm.org<br>> Subject: Re: [SP-pm] Desculpa a lista<br>> <br>> <br>> Explicando da forma mais simples que eu posso:<br>> <br>> $variavel = shift;<br>> <br>> isso é a mesma coisa que <br>> <br>> $variavel = shift @_;# Isso não ajudou muito né? Leia o resto do e-mail, por favor!<br>> <br>> @_ é uma variável especial em perl. Diz-se que é o 'array padrão'. Quando você omite o array usando 'my<br>> $variavel = shift', por exemplo, Perl assume automaticamente que você está querendo o retirar o primeiro<br>> elemento do array @_(Por isso diz-se que @_ é o array padrão). Essas variáveis especiais são como 'atalhos'<br>> para resolver problemas 'cotidianos'(mas nem sempre) em programação, como capturar parâmetros por exemplo:<br>> <br>> <code><br>> !# /usr/bin/perl<br>> use strict;<br>> <br>> my $result = &minha_subrotina('Hey! Eu sou uma string :p ');#você pode omitir o '&' se quiser. Não me lembro se<br>> isso é recomendado em Perl Best Pratices*...<br>> print $result;<br>> <br>> sub minha_subrotina {<br>> my $var = shift;#capturando o parâmetro enviado pela chamada à subrotina, nesse caso 'Hey! Eu sou uma<br>> string'.<br>> return $var.'-exemplo didático';#concatenando $var com -exemplo didático e retornando $var <br>> }<br>> </code><br>> <br>> Para saber mais sobre variáveis especiais: perldoc perlvar.<br>> <br>> O my é um operador usado para fazer declaração de variáveis(Ah... mas perl não precisa disso certo? ERRADO!).<br>> Recomenda-se fortemente que se faça declarações utilizando my/our/local (our e local também são operadores para<br>> declaração), para garantir que você mantenha suas variáveis dentro dos seus respectivos ESCOPOS, ou seja,<br>> evitar que você saia por aí declarando variáveis globais e tendo surtos pscóticos por não conseguir saber<br>> porque seu programa sobrescreve valores de variáveis(perl também é saúde)<br>> <br>> Para saber mais sobre declaração: perldoc perlsyn, para saber mais sobre 'my', 'local', e 'our', você pode dar<br>> uma 'sapiada' aqui. Embora eu recomende fortemente que você compre esse livro:<br>> <br>> http://unix.com.ua/orelly/perl/prog3/ch04_08.htm<br>> <br>> <br>> *Perl Best Pratices - livro escrito por Damian Conway, que descreve 'boas práticas de programação', que é<br>> aceito pela comunidade perl mundial.<br>> <br>> <br>> Cheers!<br>> <br>> <br>> ---------- Cabeçalho original -----------<br>> <br>> De: saopaulo-pm-bounces+andre.garcia.carneir=terra.com.br@pm.org<br>> Para: saopaulo-pm@mail.pm.org<br>> Cópia: <br>> Data: Tue, 10 Jun 2008 17:35:56 -0300<br>> Assunto: [SP-pm] Desculpa a lista<br>> <br>> > <br>> > Pessoas, queria me desculpar com vocês por atitudes imaturas.<br>> > Sei que tenho muito o que aprender, principalmente sobre Perl, e não existe lugar melhor para o aprendizado,<br>> do que com os Mestres Dobradores de Perl.<br>> > Espero recuperar a elegância natural de um newbie.<br>> > E espero recuperar isso com atitudes e perguntas construtivas.<br>> > Para começar eu não intendi a utilidade do shift quando usado junto à uma variável,<br>> > Exemplo:<br>> > $variavel = shift;<br>> > e também não intendi a utilidade do "My"<br>> > Exemplo:<br>> > my $variavel = shift;<br>> > O My eu sei teoricamente o que ele faz, o shift eu sei usar ele perfeitamente com "Array", para retirar o<br>> 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á<br>> disse é a minha primeira linguagem de programação.<br>> > Gostaria que me mostrassem programas simples com shift junto à uma variável, e o My, sei que simples para<br>> vocês é dificilimo para mim, então pesso que escolham com cuidado.<br>> > <br>> > Obrigado.<br>> > <br>> > Abraços a todos.<br>> > <br>> > Daniel Mantovani<br>> > <br>> > _________________________________________________________________<br>> > Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video!<br>> > http://video.msn.com/?mkt=pt-br<br>> <br>> --<br>> André Garcia Carneiro<br>> Developer(Perl/PHP)<br>> Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org<br>> <br>> _______________________________________________<br>> SaoPaulo-pm mailing list<br>> SaoPaulo-pm@pm.org<br>> http://mail.pm.org/mailman/listinfo/saopaulo-pm<br><br /><hr />Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! <a href='http://www.msn.com.br/emoticonpack' target='_new'>É GRÁTIS!</a></body>
</html>