[Rio-pm] Mais um membro
Fernando Oliveira
fernandocorrea em gmail.com
Quarta Junho 18 14:03:47 PDT 2008
Muito boa!
Bom... mesma coisa q eu fiz antes...
perl
-nE'BEGIN{$MTime=0;$string="teste"}/$string/&&(stat($_=$ARGV))[9]>$MTime&&say'
/dir/*
2008/6/18 Lucas Mateus <lucasmateus.oliveira em gmail.com>:
> Bom so parafraseando o Fernando, mas diminuindo um pouco:
>
> perl -nE'BEGIN{$MTime=0;$string="teste"}/$string/&&(stat
> ARGV)[9]>$MTime&&say$ARGV' /dir/*
>
>
>
> 2008/6/18 Fernando Oliveira <fernandocorrea em gmail.com>:
>
>>
>>
>> 2008/6/18 Fernando Oliveira <fernandocorrea em gmail.com>:
>>
>>> Mas o q vc quer no metodo procura é achar os arquivos q contenham uma
>>> certa string
>>> e q tenham o mtime maior q $MTime, né?!
>>>
>>> Eu proponho a todos um golf!
>>> esquecendo OO e o resto...
>>> minha primeira tacada:
>>>
>>> perl -nE'BEGIN{$MTime=0;$string="teste"}say$ARGV if/$string/&&(stat
>>> ARGV)[9]>$MTime' /dir/*
>>
>> minha 2a tacada:
>> perl -nE'BEGIN{$MTime=0;$string="teste"}say
>> if/$string/&&(stat($_=$ARGV))[9]>$MTime' /dir/*
>>
>>
>>>
>>> 2008/6/18 Fernando Oliveira <fernandocorrea em gmail.com>:
>>>
>>>>
>>>>
>>>> 2008/6/18 Raphael Carpi <raphael.carpi em gmail.com>:
>>>>
>>>>> segue comentario com ###
>>>>>
>>>>> 2008/6/18 Fernando Oliveira <fernandocorrea em gmail.com>:
>>>>>
>>>>>>
>>>>>>
>>>>>> 2008/6/18 Raphael Carpi <raphael.carpi em gmail.com>:
>>>>>>
>>>>>> valeu cara
>>>>>>>
>>>>>>> então to engatinhando no perl e to com uma duvida
>>>>>>>
>>>>>>> não consigo dar o printif de um metodo que é alimentada por uma
>>>>>>> variavel
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> package FSP_FIND;
>>>>>>> sub new{
>>>>>>> my($class) = @_;
>>>>>>> my $self = {
>>>>>>> _diretorio => undef,
>>>>>>> _arquivo => undef,
>>>>>>> _string => undef
>>>>>>> };
>>>>>>> bless $self, $class;
>>>>>>> return $self;
>>>>>>> }
>>>>>>> sub diretorio {
>>>>>>> my($self, $diretorio) = @_;
>>>>>>> $self->{_diretorio} = $diretorio if defined($diretorio);
>>>>>>> return $self->{_diretorio};
>>>>>>> }
>>>>>>> sub arquivo {
>>>>>>> my($self, $arquivo) = @_;
>>>>>>> $self->{_arquivo} = $arquivo if defined($arquivo);
>>>>>>> return $self->{_arquivo};
>>>>>>> }
>>>>>>> sub string {
>>>>>>> my($self, $string) = @_;
>>>>>>> $self->{_string} = $string if defined($string);
>>>>>>> return $self->{_string};
>>>>>>> }
>>>>>>> sub FUNUNCIA{
>>>>>>> my ($self) = @_;
>>>>>>> $self->arquivo('nome do arquivo');
>>>>>>> printf( "Arquivo:%s \n", $self->arquivo);
>>>>>>>
>>>>>> # Aqui, no mesmo metodo vc seta o argumento e o usa, então qdo vai
>>>>>> usa-lo, ele já existe, é igual a 'nome do arquivo'
>>>>>>
>>>>>>>
>>>>>>> }
>>>>>>> sub procura {
>>>>>>> my ($self) = @_;
>>>>>>> my $file = "";
>>>>>>>
>>>>>>> %mtime = ();
>>>>>>> printf( "Diretorio:%s\n", $self->diretorio );
>>>>>>>
>>>>>>> my $mtMax = 0;
>>>>>>> opendir(DIR,$self->diretorio);
>>>>>>> while($file=readdir(DIR))
>>>>>>> {
>>>>>>> next if (-d $file);
>>>>>>> @tmp = ();
>>>>>>> open(FILE,$file);
>>>>>>> while(<FILE>)
>>>>>>> {
>>>>>>> if ($_ =~ /$self->string/)
>>>>>>> {
>>>>>>> $mt = (stat($file))[9];
>>>>>>> if ($mt > $mtMax) {
>>>>>>> $self->arquivo($file);
>>>>>>>
>>>>>> ### Então o arquivo estaria sendo setado aqui e passado o parametro
>>>>> $file para ele, isso que não consegui entender quando seto o atribulto com
>>>>> variaveis internas ele retorna mas quando coloco uma variavel que é gerada
>>>>> pelo codigo ele não retorna
>>>>>
>>>> # o q vc quer dizer com "variavel que é gerada pelo codigo"?
>>>>
>>>>>
>>>>>>> $mtMax = $mt;
>>>>>>> }
>>>>>>> last;
>>>>>>> }
>>>>>>> }
>>>>>>> close FILE;
>>>>>>> }
>>>>>>> closedir DIR;
>>>>>>> printf( "Diretorio:%s\n", $self->arquivo );
>>>>>>>
>>>>>> # vc está imprimindo o metodo arquivo do próprio obj, o atributo
>>>>>> _arquivo foi setado?
>>>>>> #diferente do outro metodo, vc não está setando o nome do arquivo, vc
>>>>>> está fazendo isso no resto do código?
>>>>>>
>>>>>>>
>>>>>>> }
>>>>>>> return(1);
>>>>>>>
>>>>>>>
>>>>>>> o metodo "FUNUNCIA" funciona mas o metodo "procura" não
>>>>>>>
>>>>>>> []´s galera
>>>>>>>
>>>>>>>
>>>>>> Como é o programa q instancia e usa esse obj?
>>>>>>
>>>>> ### esse é o pl que chama a packege
>>>>> #!/usr/bin/perl
>>>>> use FSP_FIND;
>>>>> my $variavel = FSP_FIND->new(); # seria melhor
>>>>> $variavel->diretorio('\\\\servidor\\arquivos');
>>>>> $variavel->string('cade o texto');
>>>>> $variavel->procura();
>>>>>
>>>>>>
>>>>>> O $file esta sendo zerado dentro do procura(), mesmo se não
>>>> estivesse, no su pl vc não seta o arquivo só o dir e a string...
>>>>
>>>>>
>>>>>>>
>>>>>>> 2008/6/18 Fernando Oliveira <fernandocorrea em gmail.com>:
>>>>>>>
>>>>>>>> Deem as boas vindas ao Raphael, o 2o a entrar na lista no dia de
>>>>>>>> hj!
>>>>>>>> Raphael, sinta-se em casa, e fique sabendo que temos Encontros
>>>>>>>> Sociais (ES) toda segunda 5ª feira do mes (tivemos o último no dia
>>>>>>>> 12!),
>>>>>>>> e Encontros Tecnicos (ET), o proximo ainda sem data prevista.
>>>>>>>> E já foi marcado o proximo ESX (Encontro Social eXtra) para essa
>>>>>>>> proxima 3a feira, na tijuca no Olimpiadas do Chopp, esperamos vc lá!
>>>>>>>> Vc tb pode usar o calendario público do brasil.pm
>>>>>>>> <http://brasil.pm/>para ficar sabendo
>>>>>>>> dos eventos do rio.pm ( <http://brasil.pm/>http://www.google.com/
>>>>>>>> calendar/embed?src=0s81gpplpi9virbej7u9n1ln1c%40group.calendar
>>>>>>>> .google.com&ctz=America%2FSao_Paulo) <http://brasil.pm/>
>>>>>>>>
>>>>>>>> Eu sou muito curioso, então poderia, por favor, nos dizer onde vc
>>>>>>>> usa
>>>>>>>> perl e como descobriu a lista?
>>>>>>>>
>>>>>>>> --
>>>>>>>> Just another Perl Hacker,
>>>>>>>> Fernando (SmokeMachine)
>>>>>>>> http://perl-e.org
>>>>>>>> _______________________________________________
>>>>>>>> Rio-pm mailing list
>>>>>>>> Rio-pm em pm.org
>>>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Rio-pm mailing list
>>>>>>> Rio-pm em pm.org
>>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Just another Perl Hacker,
>>>>>> Fernando (SmokeMachine)
>>>>>> http://perl-e.org
>>>>>>
>>>>>> _______________________________________________
>>>>>> Rio-pm mailing list
>>>>>> Rio-pm em pm.org
>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Rio-pm mailing list
>>>>> Rio-pm em pm.org
>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Just another Perl Hacker,
>>>> Fernando (SmokeMachine)
>>>> http://perl-e.org
>>>>
>>>
>>>
>>>
>>> --
>>> Just another Perl Hacker,
>>> Fernando (SmokeMachine)
>>> http://perl-e.org
>>>
>>
>>
>>
>> --
>> Just another Perl Hacker,
>> Fernando (SmokeMachine)
>> http://perl-e.org
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
--
Just another Perl Hacker,
Fernando (SmokeMachine)
http://perl-e.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080618/35203650/attachment.html
Mais detalhes sobre a lista de discussão Rio-pm