B :: Lexinfo.

B :: LexInfo é um módulo Perl que mostra informações sobre variáveis lexicais sub-rotinas.
Baixe Agora

B :: Lexinfo. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Doug MacEachern
  • Site do editor:
  • http://search.cpan.org/~gozer/mod_perl-1.30/lib/Apache/Status.pm

B :: Lexinfo. Tag


B :: Lexinfo. Descrição

B :: LexInfo é um módulo Perl que mostra informações sobre variáveis lexicais sub-rotinas. B :: LexInfo é um módulo Perl que mostra informações sobre sub-rotinas variáveis lexicais.Synopsis Use B :: Showlex (); Meu $ Lexi = B :: Showlex-> Novo; Perl armazena nomes e valores variáveis lexicais dentro de uma pasta dentro da sub-rotina. Certos lexicais manterão certos atributos após a variável "sair do escopo". Por exemplo, quando um escalar é atribuído um valor de string, esse valor permanece após a variável ter saído do escopo, mas é substituído na próxima vez que é atribuído. Arrays e hashes lexicais manterão seu espaço de armazenamento para o número máximo de entradas armazenadas a qualquer momento. Esse módulo fornece métodos para registrar essas informações, que podem ser descartadas como - é ou comparar dois "instantâneos". As informações aprendidas com esses instantâneos podem ser valiosas de várias maneiras.MethodsMnewCreate um novo objeto B :: LexInfo: My $ lexi = B :: Lexinfo-> Novo; CvlexinFocreate Um instantâneo Padlist de uma única sub-rotina: minhas $ info = $ lexi-> cvlexinfo ('foo :: bar'); STASH_CVLEXINFOCREATE Uma lista de instantâneos de Padlist para cada sub-rotina no pacote dado: minhas $ info = $ lexi-> stash_cvlexinfo ('foo'); dumperreturn uma referência a um snapshot de padlist stringlist : Imprimir $ {$ lexi-> dumper ($ info)} DiffCompare Dois instantâneos Padist e retornar a diferença: Meu $ antes = $ lexi-> styash_cvlinfo (__ Package__); ... deixe algum código correr meu $ depois = $ lexi-> styash_cvlexinfo (__ pacote__); meu $ diff = b :: lexinfo-> diff ($ antes, $ depois); Imprimir $$ Diff; Nota: Esta função depende do comando diff -u. Você pode precisar configurar $ b :: lexinfo :: tmpdir e / ou $ b :: lexinfo :: difcmd para valores diferentes dos padrões em lexinfo.pm.cvrundifftake Um instantâneo Padist de uma sub-rotina, execute a sub-rotina com os argumentos dados , pegue outro instantâneo e retorne um diff dos instantâneos. meu $ diff = $ lexi-> cvrundiff ('foo :: bar', "arg1", $ arg2); Imprimir $$ Diff; Exemplo completo: pacote foo; Use B :: Lexinfo (); Sub bar {my ($ string) = @_; } Meu $ lexi = B :: Lexinfo-> Novo; Meu $ diff = $ lexi-> cvrundiff ('foo :: bar', "uma string"); Imprimir $$ Diff; produz: --- /tmp/b_lexinfo_1848. antes de seg 2819:48:41 +++ /tmp/b_lexinfo_1848.fter seg 2819:48:411999 @@ -2,8 + 2,10 @@ {'foo :: bar' => {'$ string' => {- 'tipo' => 'null', - 'null' => '0x80efd58' + 'tipo' => 'pv' , + 'Len' => 9, + 'pv' => 'uma string', + 'cur' => 8}, '__special__1' => {'tipo' => 'null', requisitos: · Requisitos de Perl: · Perl.


B :: Lexinfo. Software Relacionado

B :: mais.

B :: Mais módulo Perl contém métodos e funções de introspecção adicional. ...

294

Download