[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