B :: lexinfo

B :: lexinfo es un módulo PERL que muestra información sobre las variables léxicas de subrutina.
Descargar ahora

B :: lexinfo Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Doug MacEachern
  • Sitio web del editor:
  • http://search.cpan.org/~gozer/mod_perl-1.30/lib/Apache/Status.pm

B :: lexinfo Etiquetas


B :: lexinfo Descripción

B :: Lexinfo es un módulo PERL que muestra información sobre las variables léxicas de subrutina. B :: Lexinfo es un módulo PERL que muestra información sobre las variables léxicas de subrutina.Synopsis Use B :: Showlex (); My $ Lexi = B :: Showlex-> Nuevo; Perl almacena nombres y valores de variables léxicos dentro de una lista de almohadilla dentro de la subrutina. Ciertos Léxicos mantendrán ciertos atributos después de que la variable "salga de alcance". Por ejemplo, cuando se le asigna un callar un valor de cadena, este valor permanece después de que la variable ha salido de alcance, pero se anula la próxima vez que se asigna. Las matrices léxicas y los hashes conservarán su espacio de almacenamiento para el número máximo de entradas almacenadas en cualquier punto dado en el tiempo. Este módulo proporciona métodos para registrar esta información, que se puede descartar como es o para comparar dos "instantáneas". La información aprendida de estas instantáneas puede ser valiosa en varios ways.MethodsmnewCreate un nuevo B :: Lexinfo Objeto: My $ lexi = b :: lexinfo-> nuevo; cvlexinfocreate a una instantánea de una sola subrutina: My $ info = $ lexi-> cvlexinfo ('foo :: bar'); stash_cvlexinfocreate una lista de instantáneas de listas de padlist para cada subrutina en el paquete dado: My $ info = $ lexi-> stash_cvlexinfo ('foo'); DumperReturn una referencia a una instantánea de list de padlist : Imprimir $ {$ lexi-> Dumper ($ info)} DiffCompare Dos instantáneas de la lista de padlist y devuelve la diferencia: My $ ANTES = $ Lexi-> STASH_CVlexInfo (__ Paquete__); ... Deja que algún código ejecute mi $ después = $ lexi-> stash_cvlexinfo (__ paquete__); My $ DIFF = B :: lexinfo-> Diff ($ antes, $ después); Imprimir $$ diff; Nota: esta función se basa en el comando diff -u. Es posible que deba configurar $ b :: lexinfo :: tmpdir y / o $ b :: lexinfo :: DiffCMD a los valores distintos de los valores predeterminados en lexinfo.pm.cvrundifffftake A PILLIST Snapshot de una subrutina, ejecute la subrutina con los argumentos dados , tome otra instantánea y devuelva una diferencia de las instantáneas. My $ DIFF = $ Lexi-> Cvrundiff ('Foo :: Bar', "Arg1", $ arg2); Imprimir $$ DIFF; Ejemplo completo: Paquete FOO; Uso B :: lexinfo (); Sub Bar {My ($ String) = @_; } My $ lexi = b :: lexinfo-> nuevo; My $ DIFF = $ Lexi-> Cvrundiff ('Foo :: Bar', "Una cadena"); Imprimir $$ DIFF; Produce :- /Tmp/b_lexinfo_1848.Borfore lunes 28 de junio 19:48:411999 +++ /tmp/b_lexinfo_1848.fter lunes 2819:48:411999 @@ -2,8 + 2,10 @@ {'foo :: bar' => {'$ string' => {- 'tipo' => 'null', - 'null' => '0x80efd58' + 'tipo' => 'PV' , + 'Len' => 9, + 'pv' => 'una cadena', + 'cur' => 8}, '__special__1' => {'tipo' => 'null', requisitos: · Requisitos de Perl: · Perl


B :: lexinfo Software relacionado

B :: Más

B :: Module más Perl contiene métodos y funciones adicionales de introspección. ...

294

Descargar