[SP-pm] printenv em perl?
Thiago Glauco Sanchez
thiagoglauco at ticursos.net
Sun Jun 20 15:08:06 PDT 2010
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
More information about the SaoPaulo-pm
mailing list