[SP-pm] printenv em perl?

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Sun Jun 20 15:42:07 PDT 2010


Só para ressaltar, pelo que eu estou entendo você está utilizando
coisas que só estão te atrasando. Não tem sentido usar um navegador
modo texto, enquanto você pode usar um modo gráfico, você só está
desperdiçando o seu tempo. Eu até agora não entendi todo o seu e-mail,
só entendi uma parte dele. Por favor conte-nos o que você está
tentando fazer, eu acho que todos aqui vão ficar muito felizes em te
ajudar.

Muitas vezes nós tentamos fazer algo que "achamos que queremos" mas na
verdade não queremos.

>Caso eu carregue uma estrutura de dados de 1Gb na memória seria um
>desastre fazer algo desse tipo, ainda assim gostaria de saber como pode
>ser feito (não se preocupem eu tomo cuidado, rsrss).

Você precisa mesmo fazer isso ou você só está estudando ?

Quando eu faço uma pergunta, do tipo:
"Por que você quer usar foo"
Não é para te testar, é para entender o que você quer fazer.


Abraços!

2010/6/20 Thiago Glauco Sanchez <thiagoglauco em ticursos.net>:
> Te pago uma breja/choop no ES!!!
>
> Em 20/06/2010 19:11, Daniel de Oliveira Mantovani escreveu:
>>
>> Arghhh!! Esqueci de retirar um espaço,
>>
>> perl -E 'say for keys%main::'
>>
>> -1 :D
>>
>> 2010/6/20 Daniel de Oliveira
>> Mantovani<daniel.oliveira.mantovani em gmail.com>:
>>
>>>
>>> perl -E 'say for keys %main::'
>>>
>>> 2010/6/20 Thiago Glauco Sanchez<thiagoglauco em ticursos.net>:
>>>
>>>>
>>>> Outch.. magoa mandar googar...
>>>>
>>>> perl -E 'map{ say } keys %main::'
>>>>
>>>> é isso???
>>>>
>>>> Diminui esse Mantovani!!!!
>>>>
>>>>
>>>> Em 20/06/2010 19:00, Thiago Glauco Sanchez escreveu:
>>>>
>>>>>
>>>>> Em 20/06/2010 18:52, Daniel de Oliveira Mantovani escreveu:
>>>>>
>>>>>>
>>>>>> ...
>>>>>>
>>>>>> Você quer hackear a tabela de símbolos...
>>>>>>
>>>>>> http://lmgtfy.com/?q=Perl+symbol+tables
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2010/6/20 jimmy<jimmy.tty em gmail.com>:
>>>>>>
>>>>>>>
>>>>>>> On Sun, Jun 20, 2010 at 05:34:20PM -0300, Thiago Glauco Sanchez
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Em 20/06/2010 15:25, Nelson Ferraz escreveu:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Em 20 de junho de 2010 20:15, jimmy<jimmy.tty em gmail.com>
>>>>>>>>>  escreveu:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Saudações amigos,
>>>>>>>>>>
>>>>>>>>>> Ando procurando uma forma de fazer em perl algo parecido com o
>>>>>>>>>> comando
>>>>>>>>>> printenv do coreutils faz no shell
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Let me google that for you:
>>>>>>>>>
>>>>>>>>> http://lmgtfy.com/?q=printenv+perl
>>>>>>>>> _______________________________________________
>>>>>>>>> SaoPaulo-pm mailing list
>>>>>>>>> SaoPaulo-pm em pm.org
>>>>>>>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> Você está procurando algo como:
>>>>>>>>
>>>>>>>> perl -M5.12.0 -e 'map { say "$_ =>      $ENV{$_}" } keys %ENV'
>>>>>>>>
>>>>>>>> ????
>>>>>>>>
>>>>>>>
>>>>>>> Não, no caso eu "desconheço" as variáveis e funções exportadas também
>>>>>>> porque estou usando um shell perl e fico fazendo testes com ele
>>>>>>> aberto,
>>>>>>> chega o momento que não sei que pacotes, variáveis e funções já tenho
>>>>>>> definidos no interpretador.
>>>>>>>
>>>>>>>
>>>>>
>>>>> Você quer saber quais as funções/módulos você carregou no seu name
>>>>> space?
>>>>>
>>>>>>>
>>>>>>> Se alguém já usou o builtin "set" do bash, ele mostra além das
>>>>>>> variáveis
>>>>>>> as funções correntes.
>>>>>>>
>>>>>>> tentando exemplificar com código:
>>>>>>>
>>>>>>>
>>>>>>> -----------------------------------------------------------------------
>>>>>>> #!/usr/bin/perl
>>>>>>>
>>>>>>> use strict;
>>>>>>> use warnings;
>>>>>>> use Data::Dumper;
>>>>>>>
>>>>>>> use Dumpvalue;
>>>>>>> my $dumper = Dumpvalue->new();
>>>>>>>
>>>>>>> sub _print {
>>>>>>>    print(qq(sub\n));
>>>>>>> }
>>>>>>>
>>>>>>> our($STRING);
>>>>>>> $STRING = q(APENAS PARA TESTE);
>>>>>>>
>>>>>>> $dumper->dumpvars(q(:main));
>>>>>>>
>>>>>>> -----------------------------------------------------------------------
>>>>>>>
>>>>>>> obtenho como saída:
>>>>>>>
>>>>>>>
>>>>>>> -----------------------------------------------------------------------
>>>>>>>
>>>>>>> $/ = '
>>>>>>> '
>>>>>>> FileHandle(stderr) =>    fileno(2)
>>>>>>> %SIG = (
>>>>>>>   'ABRT' =>    undef
>>>>>>>   'ALRM' =>    undef
>>>>>>>   'BUS' =>    undef
>>>>>>>   'CHLD' =>    undef
>>>>>>>   'CLD' =>    undef
>>>>>>>   'CONT' =>    undef
>>>>>>>   'FPE' =>    'IGNORE'
>>>>>>>   'HUP' =>    undef
>>>>>>>   'ILL' =>    undef
>>>>>>>   'INT' =>    undef
>>>>>>>   'IO' =>    undef
>>>>>>>   'IOT' =>    undef
>>>>>>>   'KILL' =>    undef
>>>>>>>   'NUM32' =>    undef
>>>>>>>   'NUM33' =>    undef
>>>>>>>   'NUM34' =>    undef
>>>>>>>   'NUM36' =>    undef
>>>>>>>   'NUM37' =>    undef
>>>>>>>   'NUM38' =>    undef
>>>>>>>   'NUM39' =>    undef
>>>>>>>   'NUM40' =>    undef
>>>>>>>   'NUM41' =>    undef
>>>>>>>   'NUM42' =>    undef
>>>>>>>   'NUM43' =>    undef
>>>>>>>   'NUM44' =>    undef
>>>>>>>   'NUM45' =>    undef
>>>>>>>   'NUM46' =>    undef
>>>>>>>   'NUM47' =>    undef
>>>>>>>   'NUM48' =>    undef
>>>>>>>   'NUM49' =>    undef
>>>>>>>   'NUM50' =>    undef
>>>>>>>   'NUM51' =>    undef
>>>>>>>   'NUM52' =>    undef
>>>>>>>   'NUM53' =>    undef
>>>>>>>   'NUM54' =>    undef
>>>>>>>   'NUM55' =>    undef
>>>>>>>   'NUM56' =>    undef
>>>>>>>   'NUM57' =>    undef
>>>>>>>   'NUM58' =>    undef
>>>>>>>   'NUM59' =>    undef
>>>>>>>   'NUM60' =>    undef
>>>>>>>   'NUM61' =>    undef
>>>>>>>   'NUM62' =>    undef
>>>>>>>   'NUM63' =>    undef
>>>>>>>   'PIPE' =>    undef
>>>>>>>   'POLL' =>    undef
>>>>>>>   'PROF' =>    undef
>>>>>>>   'PWR' =>    undef
>>>>>>>   'QUIT' =>    undef
>>>>>>>   'RTMAX' =>    undef
>>>>>>>   'RTMIN' =>    undef
>>>>>>>   'SEGV' =>    undef
>>>>>>>   'STKFLT' =>    undef
>>>>>>>   'STOP' =>    undef
>>>>>>>   'SYS' =>    undef
>>>>>>>   'TERM' =>    undef
>>>>>>>   'TRAP' =>    undef
>>>>>>>   'TSTP' =>    undef
>>>>>>>   'TTIN' =>    undef
>>>>>>>   'TTOU' =>    undef
>>>>>>>   'UNUSED' =>    undef
>>>>>>>   'URG' =>    undef
>>>>>>>   'USR1' =>    undef
>>>>>>>   'USR2' =>    undef
>>>>>>>   'VTALRM' =>    undef
>>>>>>>   'WINCH' =>    undef
>>>>>>>   'XCPU' =>    undef
>>>>>>>   'XFSZ' =>    undef
>>>>>>>   '__WARN__' =>    undef
>>>>>>> )
>>>>>>> $" = ' '
>>>>>>> FileHandle(stdout) =>    fileno(1)
>>>>>>> $$ = 32174
>>>>>>> $^RE_TRIE_MAXBUF = 65536
>>>>>>> $! = ''
>>>>>>> $^X = '/usr/bin/perl5.12.1'
>>>>>>> @_ = (
>>>>>>>   0  ':main::'
>>>>>>>   1  0
>>>>>>>   2  '_'
>>>>>>>   3  *main::_
>>>>>>> )
>>>>>>> FileHandle(STDIN) =>    fileno(0)
>>>>>>> $^WARNING_BITS = "\c@\c@\c@\c@\c@\c@\c@\c@\c@\c@\c@\c@"
>>>>>>> FileHandle(stdin) =>    fileno(0)
>>>>>>> @INC = (
>>>>>>>   0  '/usr/lib/perl5/site_perl/5.12.1/i486-linux'
>>>>>>>   1  '/usr/lib/perl5/site_perl/5.12.1'
>>>>>>>   2  '/usr/lib/perl5/5.12.1/i486-linux'
>>>>>>>   3  '/usr/lib/perl5/5.12.1'
>>>>>>>   4  '/usr/lib/perl5/site_perl/5.8.7'
>>>>>>>   5  '/usr/lib/perl5/site_perl/5.8.8'
>>>>>>>   6  '/usr/lib/perl5/site_perl'
>>>>>>>   7  '.'
>>>>>>> )
>>>>>>> %INC = (
>>>>>>>   'Carp.pm' =>    '/usr/lib/perl5/5.12.1/Carp.pm'
>>>>>>>   'Data/Dumper.pm' =>
>>>>>>>  '/usr/lib/perl5/5.12.1/i486-linux/Data/Dumper.pm'
>>>>>>>   'Dumpvalue.pm' =>    '/usr/lib/perl5/5.12.1/Dumpvalue.pm'
>>>>>>>   'Exporter.pm' =>    '/usr/lib/perl5/5.12.1/Exporter.pm'
>>>>>>>   'List/Util.pm' =>
>>>>>>>  '/usr/lib/perl5/5.12.1/i486-linux/List/Util.pm'
>>>>>>>   'Scalar/Util.pm' =>
>>>>>>>  '/usr/lib/perl5/5.12.1/i486-linux/Scalar/Util.pm'
>>>>>>>   'XSLoader.pm' =>    '/usr/lib/perl5/5.12.1/XSLoader.pm'
>>>>>>>   'bytes.pm' =>    '/usr/lib/perl5/5.12.1/bytes.pm'
>>>>>>>   'overload.pm' =>    '/usr/lib/perl5/5.12.1/overload.pm'
>>>>>>>   'strict.pm' =>    '/usr/lib/perl5/5.12.1/strict.pm'
>>>>>>>   'vars.pm' =>    '/usr/lib/perl5/5.12.1/vars.pm'
>>>>>>>   'warnings.pm' =>    '/usr/lib/perl5/5.12.1/warnings.pm'
>>>>>>>   'warnings/register.pm' =>
>>>>>>>  '/usr/lib/perl5/5.12.1/warnings/register.pm'
>>>>>>> )
>>>>>>> $0 = 'perl.pl'
>>>>>>> $^H = 256
>>>>>>> $@ = ''
>>>>>>> FileHandle(STDOUT) =>    fileno(1)
>>>>>>> $] = 5.012001
>>>>>>> $^W = 0
>>>>>>> FileHandle(STDERR) =>    fileno(2)
>>>>>>>
>>>>>>> -----------------------------------------------------------------------
>>>>>>>
>>>>>>> mas a função "_print" que defini e as funções provenientes do
>>>>>>> Data:Dumper, não aparecem e era isso que eu estou tentando fazer,
>>>>>>> imprimir tudo o que está definido no interpretador naquele momento.
>>>>>>>
>>>>>>> Se o problema fosse as estruturas de dados, o Data::Dumper resolveria
>>>>>>> bem, mas nesse momento os dados são o que menos me interessam.
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Thiago Glauco Sanchez
>>>>>>>> Intrutor Perl e Redes
>>>>>>>> www.ticursos.net
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> SaoPaulo-pm mailing list
>>>>>>> SaoPaulo-pm em pm.org
>>>>>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Thiago Glauco Sanchez
>>>> Intrutor Perl e Redes
>>>> www.ticursos.net
>>>>
>>>> _______________________________________________
>>>> SaoPaulo-pm mailing list
>>>> SaoPaulo-pm em pm.org
>>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>>
>>>>
>>>
>>>
>>> --
>>> http://www.danielmantovani.com
>>> "If you’ve never written anything thoughtful, then you’ve never had
>>> any difficult, important, or interesting thoughts. That’s the secret:
>>> people who don’t write, are people who don’t think."
>>>
>>>
>>
>>
>>
>
>
> --
> Thiago Glauco Sanchez
> Intrutor Perl e Redes
> www.ticursos.net
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
http://www.danielmantovani.com
"If you’ve never written anything thoughtful, then you’ve never had
any difficult, important, or interesting thoughts. That’s the secret:
people who don’t write, are people who don’t think."


More information about the SaoPaulo-pm mailing list