[SP-pm] Closure e Sub Rotina
Daniel de Oliveira Mantovani
daniel.oliveira.mantovani at gmail.com
Mon Dec 29 18:19:45 PST 2008
Olha eu estou tentando usar mas retorna:
<erro>
*main::47n
</erro>
Olha o meu código:
<code>
#!usr/bin/perl
use strict;
use warnings;
palavras("a");
#Abre o arquivo para somente leitura
sub dir {
my $argvs = shift;
if (defined $argvs) {
open DIR, "<", $argvs or die "Não foi possível abrir o arquivo\t erro 01
\n$!\n";
return split(" ", <DIR> );
}
else {
print "Você precisa esclher um arquivo\t erro 02\n";
return undef;
}
}
#Filtra as palavras
sub palavras {
my $regex = shift;
*palavras = &dir("resposta");
foreach my $palavra( *palavras ) {
if ( $palavra =~ qr/$regex/i) {
print $palavra;
}
}
}
</code>
[]s
Obrigado
2008/12/30 Nelson Ferraz <nferraz em gmail.com>
> >> Basta olhar para o lado direito da atribuição.
> >>
> >> *foo = [ 1, 2, 3 ]; # array @foo
> >> *foo = { bar => 'baz' }; # hash %foo
> >> *foo = sub { 'hello world' }; # sub foo()
> >
> > Entendi Nelson, mas agora fiquei empolgado, por exemplo:
> >
> > *foo = [ 1, 2, 3 ]; # array @foo
> >
> > Por que usar * se você pode usar @ ?
>
> Não me lembro de ter precisado manipular a tabela de símbolos para
> modificar escalares, array, ou hashes.
>
> Uso este recurso apenas eventualmente, para instalar ou sobrescrever
> subrotinas ( como no exemplo *foo = sub { ... } ). Isso é bastante
> útil.
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
--
http://mantovanihouse.blogspot.com/
-------(\_------------_/)-----------
-------)--(----------)--(-----------
------(----(---------)----)----------
-------)----(-------)----(-----------
-------(----(-------)----)-----------
--------\_-(\\.---.//)-_/------------
----------\)' -8--8- '(/--------------
-----------/------------\---------------
----------(--)--------(--)--------------
------------(_c__c_)----------------
----------------------------------------
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20081230/bb68890a/attachment.html>
More information about the SaoPaulo-pm
mailing list