[Rio-pm] Unzip

Fernando Oliveira fernandocorrea em gmail.com
Quarta Maio 30 13:55:38 PDT 2012


A quem interessar possa...
rodando o meu código aqui no windows do trabalho:

C:\>perl -MArchive::Extract -ME -e "A::E->new(archive,$_)->extract
for<*.zip>"
IO::Handle -> I::H
Locale::Maketext::Simple -> L::M::S
List::Util -> L::U
Tie::Hash -> T::H
ExtUtils::MM_Unix -> E::M
ExtUtils::MM -> E::M
IPC::Cmd -> I::C
Text::ParseWords -> T::P
Scalar::Util -> S::U
Module::Load::Conditional -> M::L::C
File::Spec -> F::S
ExtUtils::MM_Any -> E::M
File::Path -> F::P
ExtUtils::Liblist -> E::L
File::Spec::Win32 -> F::S::W
Module::Load -> M::L
warnings::register -> w::r
Time::HiRes -> T::H
IO::Seekable -> I::S
Params::Check -> P::C
File::Basename -> F::B
ExtUtils::MM_Win32 -> E::M
version::vxs -> v::v
Archive::Extract -> A::E
File::Spec::Unix -> F::S::U
Exporter::Heavy -> E::H
ExtUtils::MakeMaker -> E::M
ExtUtils::MY -> E::M
IO::Select -> I::S
IPC::Open3 -> I::O
IO::File -> I::F
ExtUtils::MakeMaker::Config -> E::M::C
ExtUtils::Liblist::Kid -> E::L::K

(o "E" da um warn dizendo quais alias ele criou p/ quais modulos...)


e segue o codigo do E:


package E;

sub import {
   for my $module(keys %INC) {
      (my $mod_name = $module) =~ s{/}{::}g;
      $mod_name =~ s{\.pm$}{}g;
      my $short = join "::", map{substr $_, 0, 1} split "::", $mod_name;
      if($short =~ /::/ and $short !~ /^\s*$/ and $short !~ /^:|:$|:{4,}/
and $mod_name ne $short){
         warn $mod_name, " -> ", $short, $/;
         $mod_name .= "::";
         *GLOB = *{$mod_name};
         for my $func(keys %{*GLOB}) {
            my $orig_func = $mod_name . $func;
            no strict 'refs';
            my $new = $short . "::$func";
            *{$new} = *{$orig_func};
         }
      }
   }
}

42

sim, ele foi feito correndo aqui p/ não pairarem duvidas de q esse modulo
é possível e simples...
certamente ele será refatorado antes de ir p/ o cpan...
tb escreverei alguns testes...
se alguém estiver interessado em ajudar, eu agradeço muito...
com a minha mulher gravida fica difícil arrumar tempo p/ essas
brincadeiras...

Just another Perl Hacker,
Fernando (SmokeMachine)


Em 30 de maio de 2012 17:37, Marco Lima <braun.lima em gmail.com> escreveu:

> Fernando:
>
> O pior é que vc nem sabe ... essa merda me tirou o sono, fritei a
> noite toda porque sabia que existia mas não lembrava como eh .... =(
>
> definitivamente .... estou ficando velho ... jah estou até caducando!
> e esse negócio de só ficar desenhando tá me deixando mais enferrujado
> ainda!
>
> SM++
>
> Marco Lima
> braun.lima em gmail.com
> im:mago em jabber-br.org
>
>
> Em 30 de maio de 2012 17:05, Fernando Oliveira
> <fernandocorrea em gmail.com> escreveu:
> >
> > Em 30 de maio de 2012 03:33, Marco Lima <braun.lima em gmail.com> escreveu:
> >
> >> estou ficando velho ....
> >>
> >> perl -MArchive::Extract -e
> >> 'Archive::Extract->new(archive,$_)->extract for<*.zip>'
> >
> > perl -MArchive::Extract -ME -e
> 'A::E->new(archive,$_)->extract for<*.zip>'
> >
> > o Módulo "E" ainda não está no CPAN, mas vou por até o fds...
> > Ele cria aliases dos modulos com apenas a 1a letra de cada nome...
> >
> > :P
> >>
> >>
> >> eu gosto mais com map ... mais tah com 3 a mais
> >>
> >> perl -MArchive::Extract -e
> >> 'map{Archive::Extract->new(archive,$_)->extract}<*.zip>'
> >>
> >> vamos ver ...
> >>
> >> =)
> >>
> >> Marco Lima
> >> braun.lima em gmail.com
> >> im:mago em jabber-br.org
> >>
> >> Em 30 de maio de 2012 00:35, Gabriel Vieira <gabriel.vieira em gmail.com>
> >> escreveu:
> >> > Tá de sacanagem 02?!
> >> >
> >> > Pro Fernando se divertir mais...
> >> >
> >> > perl -MArchive::Extract -e'Archive::Extract->new(archive,$_)->extract
> >> > for<*.zip>'
> >> >
> >> >
> >> > 2012/5/30 Marco Lima <braun.lima em gmail.com>
> >> >>
> >> >> Então vamos acabar com essa historia ... seus nazistas !!!!
> >> >>
> >> >> Fernando esta por ai!? ai vai ....
> >> >>
> >> >> perl -MArchive::Extract -e
> >> >> 'map{$a=Archive::Extract->new(archive=>$_);$a->extract}<*.zip>'
> >> >>
> >> >> [ ]++
> >> >>
> >> >> Marco Lima
> >> >> braun.lima em gmail.com
> >> >> im:mago em jabber-br.org
> >> >>
> >> >> Register Linux User #483170
> >> >> Slackware Linux, for the subgenius
> >> >>
> >> >> "Aquele que pensa que é demasiado grande para fazer trabalhos
> pequenos
> >> >> é talvez demasiado pequeno para realizar grandes trabalhos."
> >> >>
> >> >> "Ter acesso ao conhecimento é um dever de todos; transmitir
> >> >> conhecimento é um dever de quem tem."
> >> >>
> >> >> "Na visão do hacker, o sentido da vida está em dedicar-se a uma
> >> >> paixão. Esta paixão é, na realidade, uma atividade significativa,
> >> >> inspiradora e prazerosa para o indivíduo, seja ela rotulada como
> >> >> "trabalho" ou como "diversão."
> >> >>
> >> >> "Ninguém é tão grande que não possa aprender, e nem tão pequeno que
> >> >> não possa ensinar"
> >> >>
> >> >> "Compartilhe o seu conhecimento. É uma maneira de alcançar a
> >> >> imortalidade"
> >> >>
> >> >>
> >> >> Em 29 de maio de 2012 22:15, Alexei Znamensky <russoz em gmail.com>
> >> >> escreveu:
> >> >> > DAS IST VERBOTEN!!! ES FUNKTIONIERT NICHT!!!
> >> >> >
> >> >> > 51, zembre uba boa ideia
> >> >> >
> >> >> >
> >> >> > 2012/5/29 Leo Balter <leonardo.balter em gmail.com>
> >> >> >>
> >> >> >> Isso é o que Hitler diria.
> >> >> >>
> >> >> >> (50)
> >> >> >>
> >> >> >> Enviado via iPhone
> >> >> >>
> >> >> >> Em 29/05/2012, às 20:34, Gabriel Vieira <gabriel.vieira em gmail.com
> >
> >> >> >> escreveu:
> >> >> >>
> >> >> >> E pensar que uma desavença gratuita dessa pode levar a coisas
> muito
> >> >> >> maiores..
> >> >> >>
> >> >> >> 2012/5/29 Nilson Santos Figueiredo Jr. <acid06 em gmail.com>
> >> >> >>>
> >> >> >>> 2012/5/29 Blabos de Blebe <blabos em gmail.com>:
> >> >> >>> > O 50° tem que xingar alguém de nazista pra fechar com chave de
> >> >> >>> > ouro.
> >> >> >>>
> >> >> >>> Pior que essa animosidade já virtualmente acabou com o clima de
> >> >> >>> discussões sadias em outras listas.
> >> >> >>> É uma pena... agressões gratuitas assim não levam a nada. :-\
> >> >> >>>
> >> >> >>> -Nilson
> >> >> >>> _______________________________________________
> >> >> >>> Rio-pm mailing list
> >> >> >>> Rio-pm em pm.org
> >> >> >>> http://mail.pm.org/mailman/listinfo/rio-pm
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> Gabriel Vieira
> >> >> >>
> >> >> >> _______________________________________________
> >> >> >> 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
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Alexei "RUSSOZ" Znamensky | russoz EM gmail com |
> http://russoz.org
> >> >> > GPG fingerprint = 42AB E78C B83A AE31 7D27  1CF3 C66F B5C7 71CA
> 9F3C
> >> >> > http://www.flickr.com/photos/alexeiz | http://github.com/russoz
> >> >> > "I don't know... fly casual!" -- Han Solo
> >> >> >
> >> >> > _______________________________________________
> >> >> > 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
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Gabriel Vieira
> >> >
> >> > _______________________________________________
> >> > 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
> >
> >
> >
> > _______________________________________________
> > 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
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120530/cdd92234/attachment-0001.html>


Mais detalhes sobre a lista de discussão Rio-pm