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

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

Serving Software Downloads in 976 Categories, Downloaded 29.858.071 Times

B::LexInfo 0.02

  Date Added: August 04, 2010  |  Visits: 581

B::LexInfo

Report Broken Link
Printer Friendly Version


Product Homepage
Download (71 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  -  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  -  perl58delta 5.8.8
perl58delta Perl module contains information about what is new for perl v5.8.0. This document describes differences between the 5.6.0 release and the 5.8.0 release. Many of the bug fixes in 5.8.0 were already seen in the 5.6.1 maintenance...
12.2 MB  
Libraries  -  OzDB 0.02
OzDB is a database Perl interface module for OzBot. SYNOPSIS use OzDB; The OzDB Perl module handles authentication and access control for the OzBot based utility bots. The basic database format is the authentication schema. This is based on...
12.29 KB  
Libraries  -  Sort::Versions 1.5
Sort::Versions is a Perl 5 module for sorting of revision-like numbers. SYNOPSIS use Sort::Versions; @l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a ); ... use Sort::Versions; print lower if versioncmp(1.2, 1.2a) ==...
5.12 KB  
Libraries  -  perlrpcgen 0.71
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions. SYNOPSIS perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl...
37.89 KB  
Libraries  -  Wx::Perl::Packager 0.07
Wx::Perl::Packager provides a module to assist packaging Wx based applications with PAR, ActiveState PerlApp / PDK and Perl A module to assist packaging Wx based applications with PAR, ActiveState PerlApp / PDK and Perl2Exe. All that is needed...
12.29 KB  
Books  -  Christchurch City Libraries 1.6
Access Christchurch City Libraries from your iPhone! The Christchurch City Libraries mobile app makes it easy to find and discover titles, place holds, rate titles, create lists and get information about our libraries. Features: ...
6.2 MB  
Libraries  -  Tuxedo 2.08
Tuxedo is a Perl extension module for Tuxedo. This module provides the following functionality... C style interface The Tuxedo perl module gives you access to almost all of the tuxedo 8.1 apis from perl. In most cases you can take the C API...
33.79 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  -  Net::Whois::RIPE 1.23
Net::Whois::RIPE is an object-oriented Perl library module that provides methods to query, retrieve, and update RIPE-157 formatted objects from whois servers that support this format. In particular, both the Asian and European Internet...
32.77 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.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...
2.73 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