zip code
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 5412
Zip 2.32
Zip is a compression and file packaging utility for Unix, VMS, DOS, OS/2, Windows 9x/NT, Amiga, Atari, Macintosh. more>>
Zip is a compression and file packaging utility for Unix, VMS, DOS, OS/2, Windows 9x/NT, Amiga, Atari, Macintosh, BeOS, SMS/QDOS, MVS, VM/CMS, and others.
Zip is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible with PKWAREs PKZIP and Nico Maks WinZip. Its part of the Info-ZIP project.
Main features:
- creating zipfiles in a pipe or on a device
- VMS and OS/2 extended file attributes
- conversion between Unix, MS-DOS and Macintosh text file formats
- the ability to run on most of your favorite operating systems.
Enhancements:
- fixed -R operation to match the supplied file patterns in all recursed subdirectories, like PKZIP 2.04 "-p -r" (or PKZIPC 4+ "-recurse")
- handle cases where -x, -R, and -i patterns are mixed
- new example C-Sharp code for using DLLs
- added some directory-search speedups
- fixed bug when encrypting large uncompressible files
- fixed Windows NTFS time problem
- fixed VMS logical name parse problem
- added VMS DEBUG option
- updated VMS help
- fixed selection of files to delete by date
- added -MM option where each input file pattern must match at least one file and all input files must be readable
- added check for when Zip tries to exceed seek limit in output file
- minor changes to compile with Visual C++ 2005
- added support for Unix FIFOs (named pipes)
- other minor fixes
<<lessZip is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible with PKWAREs PKZIP and Nico Maks WinZip. Its part of the Info-ZIP project.
Main features:
- creating zipfiles in a pipe or on a device
- VMS and OS/2 extended file attributes
- conversion between Unix, MS-DOS and Macintosh text file formats
- the ability to run on most of your favorite operating systems.
Enhancements:
- fixed -R operation to match the supplied file patterns in all recursed subdirectories, like PKZIP 2.04 "-p -r" (or PKZIPC 4+ "-recurse")
- handle cases where -x, -R, and -i patterns are mixed
- new example C-Sharp code for using DLLs
- added some directory-search speedups
- fixed bug when encrypting large uncompressible files
- fixed Windows NTFS time problem
- fixed VMS logical name parse problem
- added VMS DEBUG option
- updated VMS help
- fixed selection of files to delete by date
- added -MM option where each input file pattern must match at least one file and all input files must be readable
- added check for when Zip tries to exceed seek limit in output file
- minor changes to compile with Visual C++ 2005
- added support for Unix FIFOs (named pipes)
- other minor fixes
Download (0.96MB)
Added: 2006-07-18 License: BSD License Price:
1389 downloads
KenZip 1.1
Kenzip is a frontend for p7-zip. more>>
Kenzip is a frontend for p7-zip.
You can create password protected 7z and zip archives with this python-qt3 utility
(Unfortunately ark does not support password protected archives.) KenZip has feasible dependency, you can install it to almost any existing distro.
It has been tested on OpenSuSE 10.2, Debian testing 2006.01. and Kanotix 2006-01-RC4 using the distros python qt3 package.
Do not forget to install python qt3 and p7-zip before! Prefer the distros package from repository for Debian based distributions, and the binary installer for other linux distros.
<<lessYou can create password protected 7z and zip archives with this python-qt3 utility
(Unfortunately ark does not support password protected archives.) KenZip has feasible dependency, you can install it to almost any existing distro.
It has been tested on OpenSuSE 10.2, Debian testing 2006.01. and Kanotix 2006-01-RC4 using the distros python qt3 package.
Do not forget to install python qt3 and p7-zip before! Prefer the distros package from repository for Debian based distributions, and the binary installer for other linux distros.
Download (0.20MB)
Added: 2007-02-13 License: GPL (GNU General Public License) Price:
984 downloads
libzip 0.8
libzip is a C library for reading, creating, and modifying zip archives. more>>
libzip library can read, create, and modify zip archives. Files can be added from data buffers, files, or compressed data copied directly from other zip archives.
Changes made without closing the archive can be reverted.
Enhancements:
- New functions were added for adding directories to an archive and to clear the internal error state.
- Zip archives larger than 2 GB and streamed zip archives are now supported.
<<lessChanges made without closing the archive can be reverted.
Enhancements:
- New functions were added for adding directories to an archive and to clear the internal error state.
- Zip archives larger than 2 GB and streamed zip archives are now supported.
Download (0.37MB)
Added: 2007-06-07 License: BSD License Price:
872 downloads
Pretty Code Web 1.00
Pretty Code Web is a syntax highlighter for publishing code, written in any programming language, to the Web. more>>
Pretty Code Web is a syntax highlighter for publishing code, written in any programming language, to the web.
Written in php it uses syntax files separate from the main code to highlight a specified language.
Main features:
- Syntax highlighting for (potentially) any language.
- User defined syntax files.
- User defined colors
- Separate colors for:
- 6 Keyword Groups
- Text Strings
- Operators
- Block and Line Comments
- Bracket Characters
<<lessWritten in php it uses syntax files separate from the main code to highlight a specified language.
Main features:
- Syntax highlighting for (potentially) any language.
- User defined syntax files.
- User defined colors
- Separate colors for:
- 6 Keyword Groups
- Text Strings
- Operators
- Block and Line Comments
- Bracket Characters
Download (0.024MB)
Added: 2005-10-20 License: Free for non-commercial use Price:
1470 downloads
metazip 0.1
metazip project is an Apache 2.0 module that allows you to serve dynamically-constructed, uncompressed zip files. more>>
metazip project is an Apache 2.0 module that allows you to serve dynamically-constructed, uncompressed zip files. Thus, your users can choose to download individual files or entire collections, but you dont have to reserve disk space for both.
Main features:
- Extremely efficient, by hooking into Apaches filter system.
- Works equally well for zip, tar, and other archive files.
- Supports resumption of aborted downloads.
- Lightweight, self-contained C implementation.
- Free, open source license (Apache).
Version restrictions:
- Works for uncompressed archives only.
- Requires command line utility to construct .zip.mz "template" file.
- Currently only supported on Linux with GNU bash, gcc, and make.
metazip works by comparing a real, uncompressed archive to the files it contains. It then constructs a special .mz file that contains the "difference" between the files and the archive. This difference contains the metadata that the archive tool uses to extract the files. metazip does not interpret this metadata; it simply records it in the .mz file. After the .mz file has been created, the original archive file can be deleted. Simply place the newly-created .mz file in the same directory as the files it references. The mz command-line utility takes care of most of the details.
When the .mz file is requested, metazip "glues together" the files and the contents of the .mz file to reconstruct the archive file. Because metazip hooks into Apaches filter system, Apache handles all of the heavy lifting. metazip merely creates some high-level data structures.
Therefore, metazips overhead is practically negligible. In addition, Apaches normal functions for resuming aborted downloads, calculating the content length, setting headers, etc. work identically for static files and for metazips dynamically-generated output.
[Note: The only "catch" is that metazip must be prepared to handle its input in arbitrary-sized chunks (called "bucket brigades" in Apache-speak), even though in practice the input will generally be in one large buffer (because its input is the small .mz file). This is reflected in metazips code structure (in metazip.c), but is completely transparent to you.]
<<lessMain features:
- Extremely efficient, by hooking into Apaches filter system.
- Works equally well for zip, tar, and other archive files.
- Supports resumption of aborted downloads.
- Lightweight, self-contained C implementation.
- Free, open source license (Apache).
Version restrictions:
- Works for uncompressed archives only.
- Requires command line utility to construct .zip.mz "template" file.
- Currently only supported on Linux with GNU bash, gcc, and make.
metazip works by comparing a real, uncompressed archive to the files it contains. It then constructs a special .mz file that contains the "difference" between the files and the archive. This difference contains the metadata that the archive tool uses to extract the files. metazip does not interpret this metadata; it simply records it in the .mz file. After the .mz file has been created, the original archive file can be deleted. Simply place the newly-created .mz file in the same directory as the files it references. The mz command-line utility takes care of most of the details.
When the .mz file is requested, metazip "glues together" the files and the contents of the .mz file to reconstruct the archive file. Because metazip hooks into Apaches filter system, Apache handles all of the heavy lifting. metazip merely creates some high-level data structures.
Therefore, metazips overhead is practically negligible. In addition, Apaches normal functions for resuming aborted downloads, calculating the content length, setting headers, etc. work identically for static files and for metazips dynamically-generated output.
[Note: The only "catch" is that metazip must be prepared to handle its input in arbitrary-sized chunks (called "bucket brigades" in Apache-speak), even though in practice the input will generally be in one large buffer (because its input is the small .mz file). This is reflected in metazips code structure (in metazip.c), but is completely transparent to you.]
Download (0.016MB)
Added: 2007-01-03 License: The Apache License 2.0 Price:
1024 downloads
rubyzip 0.9.1
rubyzip is a Ruby module for reading and writing zip files. more>>
rubyzip is a Ruby module for reading and writing zip files.
Installation:
If you have rubygems you can install rubyzip directly from the gem repository
gem install rubyzip
Otherwise obtain the source (see below) and run
ruby install.rb
To run the unit tests you need to have test::unit installed
rake test
Enhancements:
- Symlink support was added along with support for Unix file permissions.
- Memory usage during decompression was reduced.
- Zip streams now model IO objects more closely.
<<lessInstallation:
If you have rubygems you can install rubyzip directly from the gem repository
gem install rubyzip
Otherwise obtain the source (see below) and run
ruby install.rb
To run the unit tests you need to have test::unit installed
rake test
Enhancements:
- Symlink support was added along with support for Unix file permissions.
- Memory usage during decompression was reduced.
- Zip streams now model IO objects more closely.
Download (0.060MB)
Added: 2006-07-04 License: GPL (GNU General Public License) Price:
696 downloads
Change Filename Code 0.2
Change Filename Code service menu is designed to repair that by converting your filenames to and from utf-8. more>> <<less
Download (0.007MB)
Added: 2006-07-26 License: GPL (GNU General Public License) Price:
1186 downloads
XML::Code 0.04
XML::Diff is a Perl module for XML DOM-Tree based Diff & Patch Module. more>>
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 or XML::LibXML::Element objects.
# The diffgram is a XML::LibXML::Document by default.
my $diffgram = $diff->compare(
-old => $old_xml,
-new => $new_xml,
);
# To patch an XML document, an patch. $old and $diffgram
# follow the same formatting rules as compare.
# The resulting XML is a XML::LibXML::Document by default.
my $patched = $diff->patch(
-old => $old,
-diffgram => $diffgram,
);
This module provides methods for generating and applying an XML diffgram of two related XML files. The basis of the algorithm is tree-wise comparison using the DOM model as provided by XML::LibXML.
The Diffgram is well-formed XML in the XVCS namespance and supports update, insert, delete and move operations. It is meant to be human and machine readable. It uses XPath expressions for locating the nodes to operate on.
<<lessSYNOPSIS
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 or XML::LibXML::Element objects.
# The diffgram is a XML::LibXML::Document by default.
my $diffgram = $diff->compare(
-old => $old_xml,
-new => $new_xml,
);
# To patch an XML document, an patch. $old and $diffgram
# follow the same formatting rules as compare.
# The resulting XML is a XML::LibXML::Document by default.
my $patched = $diff->patch(
-old => $old,
-diffgram => $diffgram,
);
This module provides methods for generating and applying an XML diffgram of two related XML files. The basis of the algorithm is tree-wise comparison using the DOM model as provided by XML::LibXML.
The Diffgram is well-formed XML in the XVCS namespance and supports update, insert, delete and move operations. It is meant to be human and machine readable. It uses XPath expressions for locating the nodes to operate on.
Download (0.017MB)
Added: 2006-09-14 License: Perl Artistic License Price:
1138 downloads
Code::Perl 0.03
Code::Perl is a Perl module to produce Perl code from a tree. more>>
Code::Perl is a Perl module to produce Perl code from a tree.
SYNOPSIS
use Code::Perl::Expr qw( :easy );
my $c = derefh(scal(hash), calls(getkey));
print $c->perl; # ($hash)->{getkey()}
Code::Perl allows you to build chunks of Perl code as a tree and then when youre finished building, the tree can output the Perl code. This is useful if you have built your own mini-language and you want to generate Perl from it. Rather than generating the Perl at parse time and having to worry about quoting, escaping, parenthese etc, you can just build a tree using Code::Perl and then dump out the correct Perl at the end.
<<lessSYNOPSIS
use Code::Perl::Expr qw( :easy );
my $c = derefh(scal(hash), calls(getkey));
print $c->perl; # ($hash)->{getkey()}
Code::Perl allows you to build chunks of Perl code as a tree and then when youre finished building, the tree can output the Perl code. This is useful if you have built your own mini-language and you want to generate Perl from it. Rather than generating the Perl at parse time and having to worry about quoting, escaping, parenthese etc, you can just build a tree using Code::Perl and then dump out the correct Perl at the end.
Download (0.017MB)
Added: 2006-10-05 License: Perl Artistic License Price:
1127 downloads

Html Code Convert 3.3
Speed up the conversion of HTML code into different format more>>
HTML Code Convert helps speed up the conversion of HTML code into different format including Java Script, JavaServer Pages, Microsoft ASP, PHP, Perl, Python, and the UNIX Shell. It is particularly useful in CGI scripting.
Enhancements:
- Colors and font selected in prefeferences box.
- Fixe bug with Quit button. First try to support accessibility.
- Updated schemas.
<<lessEnhancements:
- Colors and font selected in prefeferences box.
- Fixe bug with Quit button. First try to support accessibility.
- Updated schemas.
Download (184KB)
Added: 2009-04-29 License: Freeware Price:
198 downloads
Files Zip for Plone 1.1.0RC2
Files Zip for Plone project allows users to download all files from a folder (recursively) in a ZIP archive. more>>
Files Zip for Plone project allows users to download all files from a folder (recursively) in a ZIP archive.
Adds a document action to folders (and folderish contents) that enables to download all files and images from archetypes based contents available from that folder in a ZIP file.
Optionally, the user may get the DC metadata of the contents that provide files in XML-RDF format in the ZIP file.
<<lessAdds a document action to folders (and folderish contents) that enables to download all files and images from archetypes based contents available from that folder in a ZIP file.
Optionally, the user may get the DC metadata of the contents that provide files in XML-RDF format in the ZIP file.
Download (0.12MB)
Added: 2007-02-12 License: GPL (GNU General Public License) Price:
984 downloads
PHP Active Code Library 0.10
PHP Active Code Library (ACL) is a PHP 5 class used to store and call PHP files that are stored in a database. more>>
PHP Active Code Library (ACL) is a PHP 5 class used to store and call PHP files that are stored in a database.
The files are stored in a plain text field and not a binary field. PHP ACL also takes care of include/require calls.
If a file includes another file stored in the database, PHP ACL takes care of getting, generating, and including that file.
<<lessThe files are stored in a plain text field and not a binary field. PHP ACL also takes care of include/require calls.
If a file includes another file stored in the database, PHP ACL takes care of getting, generating, and including that file.
Download (0.013MB)
Added: 2006-07-27 License: GPL (GNU General Public License) Price:
1191 downloads
phpCodeGenerator 0.2.1
phpCodeGenerator is a free database driven website code generator. more>>
phpCodeGenerator is a free database driven website code generator. This application reads the database and generates a website with the ability to Create, List, Edit, Update, Delete and Search Records.
<<less Download (MB)
Added: 2007-07-12 License: GPL (GNU General Public License) Price:
835 downloads
Archive::Zip 1.20
Archive::Zip is a Perl module which provides an interface to ZIP archive files. more>>
Archive::Zip is a Perl module which provides an interface to ZIP archive files.
SYNOPSIS
# Create a Zip file
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
my $zip = Archive::Zip->new();
# Add a directory
my $dir_member = $zip->addDirectory( dirname/ );
# Add a file from a string with compression
my $string_member = $zip->addString( This is a test, stringMember.txt );
$string_member->desiredCompressionMethod( COMPRESSION_DEFLATED );
# Add a file from disk
my $file_member = $zip->addFile( xyz.pl, AnotherName.pl );
# Save the Zip file
unless ( $zip->writeToFileNamed(someZip.zip) == AZ_OK ) {
die write error;
}
# Read a Zip file
my $somezip = Archive::Zip->new();
unless ( $somezip->read( someZip.zip ) == AZ_OK ) {
die read error;
}
# Change the compression type for a file in the Zip
my $member = $somezip->memberNamed( stringMember.txt );
$member->desiredCompressionMethod( COMPRESSION_STORED );
unless ( $zip->writeToFileNamed( someOtherZip.zip ) == AZ_OK ) {
die write error;
}
The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files.
Zip archives can be created, or you can read from existing zip files.
Once created, they can be written to files, streams, or strings. Members can be added, removed, extracted, replaced, rearranged, and enumerated. They can also be renamed or have their dates, comments, or other attributes queried or modified. Their data can be compressed or uncompressed as needed.
Members can be created from members in existing Zip files, or from existing directories, files, or strings.
This module uses the Compress::Zlib library to read and write the compressed streams inside the files.
<<lessSYNOPSIS
# Create a Zip file
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
my $zip = Archive::Zip->new();
# Add a directory
my $dir_member = $zip->addDirectory( dirname/ );
# Add a file from a string with compression
my $string_member = $zip->addString( This is a test, stringMember.txt );
$string_member->desiredCompressionMethod( COMPRESSION_DEFLATED );
# Add a file from disk
my $file_member = $zip->addFile( xyz.pl, AnotherName.pl );
# Save the Zip file
unless ( $zip->writeToFileNamed(someZip.zip) == AZ_OK ) {
die write error;
}
# Read a Zip file
my $somezip = Archive::Zip->new();
unless ( $somezip->read( someZip.zip ) == AZ_OK ) {
die read error;
}
# Change the compression type for a file in the Zip
my $member = $somezip->memberNamed( stringMember.txt );
$member->desiredCompressionMethod( COMPRESSION_STORED );
unless ( $zip->writeToFileNamed( someOtherZip.zip ) == AZ_OK ) {
die write error;
}
The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files.
Zip archives can be created, or you can read from existing zip files.
Once created, they can be written to files, streams, or strings. Members can be added, removed, extracted, replaced, rearranged, and enumerated. They can also be renamed or have their dates, comments, or other attributes queried or modified. Their data can be compressed or uncompressed as needed.
Members can be created from members in existing Zip files, or from existing directories, files, or strings.
This module uses the Compress::Zlib library to read and write the compressed streams inside the files.
Download (0.17MB)
Added: 2007-07-03 License: Perl Artistic License Price:
852 downloads
Code::Splice 0.01
Code::Splice injects the contents of one subroutine at a specified point elsewhere. more>>
Code::Splice injects the contents of one subroutine at a specified point elsewhere.
SYNOPSIS
use Code::Splice;
Code::Splice::inject(
code => sub { print "fredn"; },
package => main,
method => foo,
precondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/four/;
},
postcondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/five/;
},
);
sub foo {
print "onen";
print "twon";
print "threen";
print "fourn";
print "fiven";
}
This module removes the contents of a subroutine (usually an anonymous subroutine created just for the purpose) and splices in into the program elsewhere.
Why, you ask?
Write stronger unit tests than the granularity of the API would otherwise allow
Write unit tests for nasty, interdependant speghetti code (my motivation -- hey, you gotta have tests before you can start refactoring, and if you cant write tests for the code, youre screwed)
Fix stupid bugs and remove stupid restrictions in other peoples code in a way thats more resiliant across upgrades than editing files you dont own
Be what "aspects" should be
Screw with your cow-orkers by introducing monster heisenbugs
Play with self-modifying code
Write self-replicating code (but be nice, were all friends here, right?)
The specifics:
The body of the code { } block are extracted from the subroutine and inserted in a place in the code specified by the call to the splice() function. Where the new code is spliced in, the old code is spliced out. The package and method arguments are required and tell the thing how to find the code to be modified. The code argument is required as it specifies the code to be spliced in. That same code block should not be used for anything else under penalty of coredump.
The rest of the argumets specify where the code is to be inserted. Any number of precondition and postcondition arguments provide callbacks to help locate the exact area to splice the code in at. Before the code can e spliced in, all of the precondition blocks must have returned true, and none of the postcondition blocks may have yet returned true. If a postcondition returns true before all of the precondition blocks have, an error is raised. Both blocks get called numerous times per line and get passed a reference to the B OP object currently under consideration and the text of the current line:
precondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/four/;
},
... or...
precondition => sub { my $op = shift; $op->name eq padsv and $op->sv->sv =~ m/fred/; },
Its possible to insert code in the middle of an expression when testing ops, but when testing the text of the line of code, the spliced in code will always replace the whole line.
Ill probably drop sending in the opcode in a future version, at least for the precondition/postcondition blocks, or maybe Ill swap them to the 2nd arg so theyre more optional.
Do not attempt to match text in comments as it wont be there. The code in $line is re-generated from the bytecode using B::Deparse and will vary from the original source code in a few ways, including changes to formatting, changes to some idioms and details of the expressions, and formatting of the code with regards to whitespace.
The splicing code will die if it fails for any reason. This will likely change in possible future versions.
There are also label and line arguments that create preconditions for you, for simple cases. Of course, you shouldnt use line for anything other than simple experimentation.
References to lexical variables in the code to be injected are replaced with references to the lexical variables of the same name in the location the code is inserted into. If a variable of the same name doesnt exist there, its an error. ... but it probably shouldnt be an error, at least in the cases where the code being spliced in declares that lexical with my, or when the variable was initiailized entirely outside of the sub block being spliced in and was merely closed over by it.
See the comments in the source code (at the top, in a nice block) for my todo/desired features. Let me know if there are any features in there or yet unsuggested that you want. I wont promise them, but I would like to hear about them.
<<lessSYNOPSIS
use Code::Splice;
Code::Splice::inject(
code => sub { print "fredn"; },
package => main,
method => foo,
precondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/four/;
},
postcondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/five/;
},
);
sub foo {
print "onen";
print "twon";
print "threen";
print "fourn";
print "fiven";
}
This module removes the contents of a subroutine (usually an anonymous subroutine created just for the purpose) and splices in into the program elsewhere.
Why, you ask?
Write stronger unit tests than the granularity of the API would otherwise allow
Write unit tests for nasty, interdependant speghetti code (my motivation -- hey, you gotta have tests before you can start refactoring, and if you cant write tests for the code, youre screwed)
Fix stupid bugs and remove stupid restrictions in other peoples code in a way thats more resiliant across upgrades than editing files you dont own
Be what "aspects" should be
Screw with your cow-orkers by introducing monster heisenbugs
Play with self-modifying code
Write self-replicating code (but be nice, were all friends here, right?)
The specifics:
The body of the code { } block are extracted from the subroutine and inserted in a place in the code specified by the call to the splice() function. Where the new code is spliced in, the old code is spliced out. The package and method arguments are required and tell the thing how to find the code to be modified. The code argument is required as it specifies the code to be spliced in. That same code block should not be used for anything else under penalty of coredump.
The rest of the argumets specify where the code is to be inserted. Any number of precondition and postcondition arguments provide callbacks to help locate the exact area to splice the code in at. Before the code can e spliced in, all of the precondition blocks must have returned true, and none of the postcondition blocks may have yet returned true. If a postcondition returns true before all of the precondition blocks have, an error is raised. Both blocks get called numerous times per line and get passed a reference to the B OP object currently under consideration and the text of the current line:
precondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/four/;
},
... or...
precondition => sub { my $op = shift; $op->name eq padsv and $op->sv->sv =~ m/fred/; },
Its possible to insert code in the middle of an expression when testing ops, but when testing the text of the line of code, the spliced in code will always replace the whole line.
Ill probably drop sending in the opcode in a future version, at least for the precondition/postcondition blocks, or maybe Ill swap them to the 2nd arg so theyre more optional.
Do not attempt to match text in comments as it wont be there. The code in $line is re-generated from the bytecode using B::Deparse and will vary from the original source code in a few ways, including changes to formatting, changes to some idioms and details of the expressions, and formatting of the code with regards to whitespace.
The splicing code will die if it fails for any reason. This will likely change in possible future versions.
There are also label and line arguments that create preconditions for you, for simple cases. Of course, you shouldnt use line for anything other than simple experimentation.
References to lexical variables in the code to be injected are replaced with references to the lexical variables of the same name in the location the code is inserted into. If a variable of the same name doesnt exist there, its an error. ... but it probably shouldnt be an error, at least in the cases where the code being spliced in declares that lexical with my, or when the variable was initiailized entirely outside of the sub block being spliced in and was merely closed over by it.
See the comments in the source code (at the top, in a nice block) for my todo/desired features. Let me know if there are any features in there or yet unsuggested that you want. I wont promise them, but I would like to hear about them.
Download (0.010MB)
Added: 2007-08-14 License: Perl Artistic License Price:
806 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above zip code search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed