[Rio-pm] Mais um membro
Fernando Oliveira
fernandocorrea em gmail.com
Quarta Junho 18 13:19:27 PDT 2008
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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080618/cf021df0/attachment.html
Mais detalhes sobre a lista de discussão Rio-pm