Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 49.480.604 Times

B::LexInfo 0.02

  Date Added: August 04, 2010  |  Visits: 836

B::LexInfo

Report Broken Link
Printer Friendly Version


Product Homepage
Download (89 downloads)



B::LexInfo is a Perl module that shows information about subroutine lexical variables. SYNOPSIS use B::ShowLex (); my $lexi = B::ShowLex->new; Perl stores lexical variable names and values inside a padlist within the subroutine. Certain lexicals will maintain certain attributes after the the variable "goes out of scope". For example, when a scalar is assigned a string value, this value remains after the variable has gone out of scope, but is overridden the next time it is assigned to. Lexical Arrays and Hashes will retain their storage space for the maximum number of entries stored at any given point in time. This module provides methods to record this information, which can be dumped out as-is or to compare two "snapshots". The information learned from these snapshots can be valuable in a number of ways. METHODSM new Create a new B::LexInfo object: my $lexi = B::LexInfo->new; cvlexinfo Create a padlist snapshot from a single subroutine: my $info = $lexi->cvlexinfo(Foo::bar); stash_cvlexinfo Create a list of padlist snapshots for each subroutine in the given package: my $info = $lexi->stash_cvlexinfo(Foo); dumper Return a reference to a stringified padlist snapshot: print ${ $lexi->dumper($info) } diff Compare two padlist snapshots and return the difference: my $before = $lexi->stash_cvlexinfo(__PACKAGE__); ... let some code run my $after = $lexi->stash_cvlexinfo(__PACKAGE__); my $diff = B::LexInfo->diff($before, $after); print $$diff; NOTE: This function relies on the diff -u command. You might need to configure $B::LexInfo::TmpDir and/or $B::LexInfo::DiffCmd to values other than the defaults in LexInfo.pm. cvrundiff Take a padlist snapshot of a subroutine, run the subroutine with the given arguments, take another snapshot and return a diff of the snapshots. my $diff = $lexi->cvrundiff(Foo::bar, "arg1", $arg2); print $$diff; Complete example: package Foo; use B::LexInfo (); sub bar { my($string) = @_; } my $lexi = B::LexInfo->new; my $diff = $lexi->cvrundiff(Foo::bar, "a string"); print $$diff; Produces: --- /tmp/B_LexInfo_1848.before Mon Jun 28 19:48:41 1999 +++ /tmp/B_LexInfo_1848.after Mon Jun 28 19:48:41 1999 @@ -2,8 +2,10 @@ { Foo::bar => { $string => { - TYPE => NULL, - NULL => 0x80efd58 + TYPE => PV, + LEN => 9, + PV => a string, + CUR => 8 }, __SPECIAL__1 => { TYPE => NULL,.

Requirements: No special requirements
Platforms: Linux
Keyword: Blexinfo Diff Information Lexical Lexinfo Libraries Null Perl Perl Module Programming Snapshots Subroutine Type
Users rating: 0/10

License: Freeware Size: 5.12 KB
USER REVIEWS
More Reviews or Write Review


B::LEXINFO RELATED
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Variable::Strongly::Typed::Validators 1.1.0
Variable::Strongly::Typed::Validators is Perl module with built-in type validators. SYNOPSIS This class is utilized by Variable::Strongly::Typed - you dont access this directly. This module defines a %conditions hash contained expressions that...
10.24 KB  
Libraries  -  File::MMagic 1.27
File::MMagic is a Perl module to guess file type. SYNOPSIS use File::MMagic; use FileHandle; $mm = new File::MMagic; # use internal magic file # $mm = File::MMagic->new(/etc/magic); # use external magic file # $mm =...
21.5 KB  
Libraries  -  Getargs::Long 1.1001
Getargs::Long is a Perl module with named subroutine arguments, with optional type checking. SYNOPSIS use Getargs::Long; # case sensitive use Getargs::Long qw(ignorecase); # case insensitive # Simple, args mandatory my ($val, $other) =...
40.96 KB  
Libraries  -  XML::Diff 0.04
XML::Diff is a Perl module for XML DOM-Tree based Diff & Patch Module. SYNOPSIS my $diff = XML::Diff->new(); # to generate a diffgram of two XML files, use compare. # $old and $new can be filepaths, XML as a string, # XML::LibXML::Document...
17.41 KB  
Programming  -  Perl Module Manager 1.2.0.18
Perl Module Manager helps you to install, un-install and manage Perl modules from a CPAN site and other sources in an easy and intuitive way. Allows you to search through thousands of useful modules and libraries on a CPAN site and its mirrors....
1.44 MB  
Libraries  -  Params::Validate 0.88
Params::Validate is a Perl module to validate method/function parameters. SYNOPSIS use Params::Validate qw(:all); # takes named params (hash or hashref) sub foo { validate( @_, { foo => 1, # mandatory bar => 0, # optional } ); } #...
79.87 KB  
Libraries  -  CAD::Drawing::IO::Compressed 0.26
CAD::Drawing::IO::Compressed is a Perl module to load and save compressed data. Requisite Plug-in Functions See CAD::Drawing::IO for a description of the plug-in architecture. check_type Returns true if $type is "compressed" or $filename...
39.94 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB