<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="Verdana">Nilson:<br>
<br>
Valeu, contribuiu horrores :)<br>
<br>
</font>Nilson Santos wrote:
<blockquote cite="mid9a08c9b405060708386a1ebf72@mail.gmail.com"
type="cite">
<pre wrap="">On 6/7/05, Alceu R. de Freitas Jr. <a class="moz-txt-link-rfc2396E" href="mailto:glasswalk3r@yahoo.com.br"><glasswalk3r@yahoo.com.br></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Se você permitir uma sugestão, eu diria para você
incluir uma ou duas páginas dizendo o que pode ser
feito com Perl, talvez mostrando algumas aplicações de
grande porte. Muita gente que pelo menos ouviu falar
de Perl acha que ele é apenas um shell script mais
complicado.
</pre>
</blockquote>
<pre wrap=""><!---->
Acho que essa sugestão se tornaria principalmente relevante caso o
público tivesse uma parcela de pessoas mais "orientadas a negócio".
Mas de qualquer forma é relevante.
Quanto ao documento em si, ele está ótimo. Gostaria de fazer algumas
sugestões que poderiam talvez fazer com que o documento ficasse um
pouco mais completo.
Na parte "Um pouco de História": como são citados exemplos de
linguagens influenciadas pelo Perl, talvez fosse interessante citar o
exemplo de expressões regulares em que a implementação de Perl
atualmente é o "de facto standard", utilizada como referência na
implementação do recurso em outras linguagens e talvez citar o PCRE
também. Porém, concordo que talvez isso seja um pouco demais para um
curso básico, mas só citar que quase todas as linguagens modernas tem
um "pedacinho" de Perl hoje em dia talvez seja algo interessante.
</pre>
</blockquote>
Boa idéia, vou citar sim.<br>
<blockquote cite="mid9a08c9b405060708386a1ebf72@mail.gmail.com"
type="cite">
<pre wrap="">Na "Nota" da seção 2.1: acredito que talvez o comentário leve as
pessoas a acreditar que, se fizerem:
$var = "5";
Não poderão (ou terão resultados imprevistos) ao fazer, em seguida:
print $var + 1;
Sendo que o perl irá DWYM corretamente e imprimir "6" na tela. Então
talvez seja importante citar que o Perl tenta fazer as conversões dos
tipos internos automáticamente e que se uma string representa um
número, ele irá sem problemas transformá-la em um número, caso ocorra
uma operação matemática sobre ela.
</pre>
</blockquote>
Isso eu pretendo comentar mais adiante em operadores.<br>
<blockquote cite="mid9a08c9b405060708386a1ebf72@mail.gmail.com"
type="cite">
<pre wrap="">Na "Nota" da seção 2.2: na verdade, na verdade, a posição inicial de
uma array em Perl não é necessariamente *sempre* é representada pelo
índice zero ( 0 ). O índice inicial de array é controlado pela
varíavel especial $[. Ou seja, se alguém quiser fazer as arrays de
Perl funcionarem como as arrays de Pascal, por exemplo, basta que se
defina $[ = 1. Porém, concordo que esse detalhe pode até assustar as
pessoas de um curso básico de Perl mas, por outro lado, também pode
ilustrar a enorme flexibilidade de Perl, então cabe a você decidir o
que fazer. Talvez modificar o "sempre" para "normalmente" seria a
modificação perfeita. Caso alguém perguntasse "porque normalmente?" aí
viria uma explicação de que existe a possibilidade de se alterar,
porém isso é muito pouco utilizado.
</pre>
</blockquote>
Hmmm... Pois é, é uma boa o normalmente. E depois posso citar a $[ na
seção de variáveis especiais.<br>
<blockquote cite="mid9a08c9b405060708386a1ebf72@mail.gmail.com"
type="cite">
<pre wrap="">Em outra nota da mesma seção 2.2, mais abaixo, tem um pequeno erro:
arrays são interpoladas *sim*!
Para garantir que eu não estaria falando bobagem, até fiz um
testezinho bobo, com warnings e strict ligado, para garantir que
funcionaria em todos os casos:
use warnings;
use strict;
my @array = (12,24,36);
print "$array[1]";
Imprime "24" na tela, como esperado.
Além disso, existe a interpolação na forma:
print "@array";
Que, no caso acima, imprimiria "12 24 36" na tela. O comportamento
dessa interpolação é equivalente à: join($", @array). $" é a variável
especial que determina qual é o caracter que vai ser utilizado no
"join" dos elementos.
</pre>
</blockquote>
Valeu, isso eu não sabia e nunca tinha testado. Como estou
(infelizmente) muito acostumado ao PHP hoje em dia achei que Perl não
interpolaria. Valeu mesmo.<br>
<blockquote cite="mid9a08c9b405060708386a1ebf72@mail.gmail.com"
type="cite">
<pre wrap="">Na seção 2.3: talvez fosse interessante citar que a utilização do
operador "=>" não é meramente estética. Ele tem o efeito de avaliar o
que está à sua esquerda como string, mesmo se for uma bareword. Por
isso, é uma construção válida, sob quaisquer circunstâncias, o
seguinte:
my %hash = (
Dom => "Domingo",
Seg => "Segunda",
Ter => "Terça",
Qua => "Quarta",
Qui => "Quinta",
Sex => "Sexta",
Sáb => "Sábado"
);
</pre>
</blockquote>
Vou tratar disso em operadores.<br>
<br>
<blockquote cite="mid9a08c9b405060708386a1ebf72@mail.gmail.com"
type="cite">
<pre wrap="">Bom. É isso. ;)
Espero que eu possa ter contribuído de alguma forma para o sucesso do
curso que você vai ministrar.
</pre>
</blockquote>
Contribuiu e muito, Nilson. Sem palavras. Valeu mesmo!<br>
<br>
<br>
Er Galvão Abbott<br>
<a class="moz-txt-link-abbreviated" href="mailto:galvao@perl.org.br">galvao@perl.org.br</a><br>
----------------------------------------------------<br>
Fundador e Administrador - Porto Alegre Perl Mongers<br>
<a class="moz-txt-link-freetext" href="http://portoalegre.pm.org/">http://portoalegre.pm.org/</a><br>
----------------------------------------------------<br>
Sócio e Diretor Técnico - Sociedade Perl do Brasil<br>
<a class="moz-txt-link-freetext" href="http://perl.org.br/">http://perl.org.br/</a><br>
----------------------------------------------------<br>
</body>
</html>