B :: Lexinfo.

B :: Lexinfo ist ein Perl-Modul, das Informationen zu Subroutine-lexikalischen Variablen anzeigt.
Jetzt downloaden

B :: Lexinfo. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Doug MacEachern
  • Website des Verlags:
  • http://search.cpan.org/~gozer/mod_perl-1.30/lib/Apache/Status.pm

B :: Lexinfo. Stichworte


B :: Lexinfo. Beschreibung

B :: Lexinfo ist ein Perl-Modul, das Informationen zu Subroutine-lexikalischen Variablen zeigt. B :: Lexinfo ist ein Perl-Modul, das Informationen zu Subroutine-lexikalischen Variablen zeigt. Synopsis verwenden B :: showlex (); My $ Lexi = B :: Showlex-> NEU; Perl speichert lexikalische Variablennamen und -werte in einer Padlist innerhalb der Unterprogramme. Bestimmte Lexikalis werden bestimmte Attribute nach der Variablen aufrechterhalten "aus Geltungsbereich". Wenn beispielsweise ein Skalar einen String-Wert zugewiesen wird, bleibt dieser Wert, nachdem die Variable außerhalb des Geltungsbereichs gegangen ist, aber das nächste Mal außer Kraft gesetzt ist, an der es zugeordnet ist. Lexikalische Arrays und Hashes behalten ihren Speicherplatz für die maximale Anzahl von Einträgen, die zu einem bestimmten Zeitpunkt gespeichert sind. Dieses Modul enthält Methoden, um diese Informationen aufzunehmen, die als "Snapshots" ausgelassen werden können oder um zwei "Momentaufnahmen" vergleichen können. Die von diesen Momentaufnahmen erfahrenen Informationen können auf verschiedene Arten wertvoll sein Lexi-> Cvlexinfo ('foo :: bar'); stash_cvlexinfokreate Eine Liste der Padlist-Snapshots für jede Subroutine in der angegebenen Paket: My $ Info = $ lexi-> stash_cvlexinfo ('foo'); Dumperreturn a Referenz auf eine anrastifizierte Padlist-Snapshot : drucken $ {$ lexi-> dumper ($ info)} drucken Sie zwei Padlisten-Snapshots und senden Sie den Unterschied zurück: My $ bevor = $ lexi-> stash_cvlexinfo (__ paket__); ... Lassen Sie einen Code meine $ nach = $ lexi-> stash_cvlexinfo (__ paket__) ausführen. Mein $ diff = b :: lexinfo-> diff ($ vorher, $ danach); drucken $$ diff; Hinweis: Diese Funktion stützt sich auf den Befehl diff -u. Möglicherweise müssen Sie $ B :: lexinfo :: tmpdir und / oder $ b :: lexinfo :: diffcmd an andere Werte als die Standardeinstellungen in lexinfo.pm.cvrundifftake eine Padlist-Snapshot einer Subroutine ausführen, führen Sie die Subroutine mit den angegebenen Argumenten aus Nehmen Sie einen anderen Snapshot auf und geben Sie einen Diff mit den Momentaufnahmen zurück. Mein $ diff = $ lexi-> cvrundiff ('foo :: bar', "arg1", $ arg2); drucken $$ diff; Komplettes Beispiel: Paket Foo; Verwenden Sie B :: Lexinfo (); SUB BAR {MEINE ($ STRING) = @_; } My $ Lexi = B :: lexinfo-> neu; Mein $ diff = $ lexi-> cvrundiff ('foo :: bar', "a string"); drucken $$ diff; produziert: --- /tmp/b_lexinfo_1848.before Mo Jun 2819:48:411999 +++ /tmp/b_lexinfo_1848.after Moun 2819:48:411999 @@ -2,8 + 2,10 @@ {'foo :: bar' => {'$ string' => {- 'Typ' => 'null', - 'null' => '0x80efd58' + 'Typ' => 'PV' , + 'Len' => 9, + 'pv' => 'a string', + 'cur' => 8}, '__special__1' => {'Typ' => 'null', Anforderungen: · Perl Anforderungen: · Perl.


B :: Lexinfo. Zugehörige Software