bob rudis
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 77
mod_actions
mod_actions is an Apache module that provides functions for executing CGI scripts based on media type or request method. more>>
mod_actions is an Apache module that provides functions for executing CGI scripts based on media type or request method.
This module has two directives. The Action directive lets you run CGI scripts whenever a file of a certain type is requested. The Script directive lets you run CGI scripts whenever a particular method is used in a request. This makes it much easier to execute scripts that process files.
Action directive
Syntax: Action action-type cgi-script
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Base
Module: mod_actions
Compatibility: Action is only available in Apache 1.1 and later
This directive adds an action, which will activate cgi-script when action-type is triggered by the request. The cgi-script is the URL-path to a resource that has been configured as a CGI script using ScriptAlias or AddHandler. The action-type can be either a handler or a MIME content type. It sends the URL and file path of the requested document using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables.
Examples:
# Requests for files of a particular type:
Action image/gif /cgi-bin/images.cgi
# Files of a particular file extension
AddHandler my-file-type .xyz
Action my-file-type /cgi-bin/program.cgi
In the first example, requests for files with a MIME content type of image/gif will instead be handled by the specified cgi script /cgi-bin/images.cgi.
In the second example, requests for files with a file extension of .xyz are handled instead by the specified cgi script /cgi-bin/program.cgi.
Script directive
Syntax: Script method cgi-script
Context: server config, virtual host, directory
Status: Base
Module: mod_actions
Compatibility: Script is only available in Apache 1.1 and later; arbitrary method use is only available with 1.3.10 and later
This directive adds an action, which will activate cgi-script when a file is requested using the method of method. The cgi-script is the URL-path to a resource that has been configured as a CGI script using ScriptAlias or AddHandler. The URL and file path of the requested document is sent using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables.
Prior to Apache 1.3.10, method can only be one of GET, POST, PUT, or DELETE. As of 1.3.10, any arbitrary method name may be used. Method names are case-sensitive, so Script PUT and Script put have two entirely different effects.
Note that the Script command defines default actions only. If a CGI script is called, or some other resource that is capable of handling the requested method internally, it will do so. Also note that Script with a method of GET will only be called if there are query arguments present (e.g., foo.html?hi). Otherwise, the request will proceed normally.
Examples:
# For < ISINDEX >-style searching
Script GET /cgi-bin/search
# A CGI PUT handler
Script PUT /~bob/put.cgi
<<lessThis module has two directives. The Action directive lets you run CGI scripts whenever a file of a certain type is requested. The Script directive lets you run CGI scripts whenever a particular method is used in a request. This makes it much easier to execute scripts that process files.
Action directive
Syntax: Action action-type cgi-script
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Base
Module: mod_actions
Compatibility: Action is only available in Apache 1.1 and later
This directive adds an action, which will activate cgi-script when action-type is triggered by the request. The cgi-script is the URL-path to a resource that has been configured as a CGI script using ScriptAlias or AddHandler. The action-type can be either a handler or a MIME content type. It sends the URL and file path of the requested document using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables.
Examples:
# Requests for files of a particular type:
Action image/gif /cgi-bin/images.cgi
# Files of a particular file extension
AddHandler my-file-type .xyz
Action my-file-type /cgi-bin/program.cgi
In the first example, requests for files with a MIME content type of image/gif will instead be handled by the specified cgi script /cgi-bin/images.cgi.
In the second example, requests for files with a file extension of .xyz are handled instead by the specified cgi script /cgi-bin/program.cgi.
Script directive
Syntax: Script method cgi-script
Context: server config, virtual host, directory
Status: Base
Module: mod_actions
Compatibility: Script is only available in Apache 1.1 and later; arbitrary method use is only available with 1.3.10 and later
This directive adds an action, which will activate cgi-script when a file is requested using the method of method. The cgi-script is the URL-path to a resource that has been configured as a CGI script using ScriptAlias or AddHandler. The URL and file path of the requested document is sent using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables.
Prior to Apache 1.3.10, method can only be one of GET, POST, PUT, or DELETE. As of 1.3.10, any arbitrary method name may be used. Method names are case-sensitive, so Script PUT and Script put have two entirely different effects.
Note that the Script command defines default actions only. If a CGI script is called, or some other resource that is capable of handling the requested method internally, it will do so. Also note that Script with a method of GET will only be called if there are query arguments present (e.g., foo.html?hi). Otherwise, the request will proceed normally.
Examples:
# For < ISINDEX >-style searching
Script GET /cgi-bin/search
# A CGI PUT handler
Script PUT /~bob/put.cgi
Download (MB)
Added: 2007-05-05 License: The Apache License Price:
903 downloads
Bob the Butcher 0.7.1
Bob the Butcher project is a distributed password cracker package. more>>
Bob the Butcher project is a distributed password cracker package.
This is ALPHA software, full of bugs, some of them being likely to be security holes. Besides, there is no client authentification, so anybody could impersonate a client and alter your search results.
Only use it on a trusted network!
Main features:
- Ciphers near source compatibility with John the Ripper. Bob the Butcher benefits from the fast algorithms that have been develloped for John:
Traditionnal DES Solar Designer
BSDI DES [BROKEN] Solar Designer
FreeBSD MD5 [BROKEN] Solar Designer
Windows NTLM (MD4)
MMX/SSE2 bartavelle
Windows Cache (mscash) bartavelle
Raw MD5 (hex-encoded) bartavelle
Raw SHA1 (hex-encoded) bartavelle
MySQL passwords Noah Williamsson
Netscape LDAP SHA Sun-Zero
Netscape LDAP SHA
MMX/SSE2 Bartavelle
Lotus Domino Jeff Fay
Oracle Passwords Bartavelle
- Password cracking speed scales linearly with the number of cracking clients.
- Central server that can handles several jobs, supporting different priorities (in the future.
- Smart keyspace distribution when several jobs are using the same algorithm (not for now).
Usage:
Build instructions
Only works on pentium or later!
./configure --enable-debug
make
cd bob_client
./bob_client -b
If it segfaults, try again with:
./configure --enable-debug --disable-sse2
bob_server
Just run ./bob_server -k SECRET_KEY
bob_admin
Use it to add jobs and check status. For now only he following commands work:
newjob : add a new job
status : gives general status
jobinf : give detailled status
Dont forget to use the -k switch for PSK.
bob_client Put this one on as many computers as possible, and just run:
./bob_client -d -k SECRET_KEY server_host_name
Enhancements:
- Bugfixes in cyphers, support for Solaris, and a prototype Python server.
<<lessThis is ALPHA software, full of bugs, some of them being likely to be security holes. Besides, there is no client authentification, so anybody could impersonate a client and alter your search results.
Only use it on a trusted network!
Main features:
- Ciphers near source compatibility with John the Ripper. Bob the Butcher benefits from the fast algorithms that have been develloped for John:
Traditionnal DES Solar Designer
BSDI DES [BROKEN] Solar Designer
FreeBSD MD5 [BROKEN] Solar Designer
Windows NTLM (MD4)
MMX/SSE2 bartavelle
Windows Cache (mscash) bartavelle
Raw MD5 (hex-encoded) bartavelle
Raw SHA1 (hex-encoded) bartavelle
MySQL passwords Noah Williamsson
Netscape LDAP SHA Sun-Zero
Netscape LDAP SHA
MMX/SSE2 Bartavelle
Lotus Domino Jeff Fay
Oracle Passwords Bartavelle
- Password cracking speed scales linearly with the number of cracking clients.
- Central server that can handles several jobs, supporting different priorities (in the future.
- Smart keyspace distribution when several jobs are using the same algorithm (not for now).
Usage:
Build instructions
Only works on pentium or later!
./configure --enable-debug
make
cd bob_client
./bob_client -b
If it segfaults, try again with:
./configure --enable-debug --disable-sse2
bob_server
Just run ./bob_server -k SECRET_KEY
bob_admin
Use it to add jobs and check status. For now only he following commands work:
newjob : add a new job
status : gives general status
jobinf : give detailled status
Dont forget to use the -k switch for PSK.
bob_client Put this one on as many computers as possible, and just run:
./bob_client -d -k SECRET_KEY server_host_name
Enhancements:
- Bugfixes in cyphers, support for Solaris, and a prototype Python server.
Download (0.25MB)
Added: 2006-08-22 License: GPL (GNU General Public License) Price:
1163 downloads
Blatte::Builtins 0.9.4
Blatte::Builtins is a Perl module with Blatte-callable intrinsics. more>>
Blatte::Builtins is a Perl module with Blatte-callable intrinsics.
SYNOPSIS
package MyPackage;
use Blatte::Builtins;
eval(...compiled Blatte program...);
This module defines the standard Blatte-callable intrinsic functions.
A Blatte intrinsic is simply a Perl subroutine that (a) has been assigned (by reference) to a scalar variable (whose name begins with a letter), and (b) takes a hash reference as its first argument, in which named parameter values are passed.
<<lessSYNOPSIS
package MyPackage;
use Blatte::Builtins;
eval(...compiled Blatte program...);
This module defines the standard Blatte-callable intrinsic functions.
A Blatte intrinsic is simply a Perl subroutine that (a) has been assigned (by reference) to a scalar variable (whose name begins with a letter), and (b) takes a hash reference as its first argument, in which named parameter values are passed.
Download (0.031MB)
Added: 2007-04-19 License: Perl Artistic License Price:
918 downloads
OOWeb 0.7.1
OOWeb is a lightweight, embedded HTTP server for Java applications. more>>
OOWeb is a lightweight, embedded HTTP server for Java applications that maps objects to URL directories, methods to pages and form/querystring arguments as method parameters.
This allows for unparalleled ease in creating, deploying and testing web applications and most importantly, its fun to use!
This project was unashamedly inspired by CherryPy.
Main features:
- GET/POST
- HTTP Sessions
- Cookies
- Logging
- Static content
- Replicated sessions to transparently distribute user sessions to all OOWeb instances on a network. Requires zero configuration.
- Security with either HTTP BASIC or forms based authentication.
- Very portable (pure Java and compatible with Sun JDK 1.4, Kaffe, JamVM, SableVM, GIJ/GCJ, etc.)
- Incredibly lightweight (v0.5 is just 50k) with no external dependencies
- Quick to learn - get a basic dynamic website running from scratch in 10 minutes
Enhancements:
- This release was updated to JUnit 4.3.
- Some tidying and polishing of JavaDoc, logging, etc. was undertaken.
- The server now ensures that user exceptions result in HTTP 500 rather than HTTP 200 response codes.
- Caching was implemented for the @Cacheable annotation.
- It provides a trivial memory backed cache for responses to cacheable methods.
- Samples were restructured and a groovy "Worldapp" sample was added.
<<lessThis allows for unparalleled ease in creating, deploying and testing web applications and most importantly, its fun to use!
This project was unashamedly inspired by CherryPy.
Main features:
- GET/POST
- HTTP Sessions
- Cookies
- Logging
- Static content
- Replicated sessions to transparently distribute user sessions to all OOWeb instances on a network. Requires zero configuration.
- Security with either HTTP BASIC or forms based authentication.
- Very portable (pure Java and compatible with Sun JDK 1.4, Kaffe, JamVM, SableVM, GIJ/GCJ, etc.)
- Incredibly lightweight (v0.5 is just 50k) with no external dependencies
- Quick to learn - get a basic dynamic website running from scratch in 10 minutes
Enhancements:
- This release was updated to JUnit 4.3.
- Some tidying and polishing of JavaDoc, logging, etc. was undertaken.
- The server now ensures that user exceptions result in HTTP 500 rather than HTTP 200 response codes.
- Caching was implemented for the @Cacheable annotation.
- It provides a trivial memory backed cache for responses to cacheable methods.
- Samples were restructured and a groovy "Worldapp" sample was added.
Download (0.36MB)
Added: 2007-06-14 License: LGPL (GNU Lesser General Public License) Price:
865 downloads
Blob Wars: Blob Metal Solid 1.07
Blob Wars : Metal Blob Solid, you take on the role of a fearless Blob agent, Bob. more>>
Blob Wars : Metal Blob Solid, you take on the role of a fearless Blob agent, Bob.
Since their world was invaded by an alien race, the Blobs have faced a lifetime of war. But now they have a chance to win the war once and for all.
In Blob Wars : Metal Blob Solid, you take on the role of a fearless Blob agent, Bob. Bobs mission is to infiltrate the various enemy bases around the Blobs homeworld and rescue as many MIAs as possible. But standing in his way are many vicious aliens, other Blobs who have been assimilated and the evil alien leader, Galdov.
Main features:
- Platform game
- Over 25 missions
- More than 8 hours gameplay!
- 4 difficulty settings
- Large levels with different environments, such as water, lava, ice and slime.
- Use a variety of different weaponary, including machine guns and laser cannons.
- Multiple objectives
- Jetpack and Aqua Lung items to find
- Optional blood and gore
- Boss Battles!
- Lots of sound effects and music tracks
- Joypad support with configurable controls
- Configurable keyboard support
- Level replay value - Return to previous levels to rescue all MIAs and optional objectives.
<<lessSince their world was invaded by an alien race, the Blobs have faced a lifetime of war. But now they have a chance to win the war once and for all.
In Blob Wars : Metal Blob Solid, you take on the role of a fearless Blob agent, Bob. Bobs mission is to infiltrate the various enemy bases around the Blobs homeworld and rescue as many MIAs as possible. But standing in his way are many vicious aliens, other Blobs who have been assimilated and the evil alien leader, Galdov.
Main features:
- Platform game
- Over 25 missions
- More than 8 hours gameplay!
- 4 difficulty settings
- Large levels with different environments, such as water, lava, ice and slime.
- Use a variety of different weaponary, including machine guns and laser cannons.
- Multiple objectives
- Jetpack and Aqua Lung items to find
- Optional blood and gore
- Boss Battles!
- Lots of sound effects and music tracks
- Joypad support with configurable controls
- Configurable keyboard support
- Level replay value - Return to previous levels to rescue all MIAs and optional objectives.
Download (7.2MB)
Added: 2007-06-01 License: GPL (GNU General Public License) Price:
879 downloads
Blob Wars : Blob and Conquer 0.91
Blob Wars : Blob and Conquer is a 3rd person action shooter. more>>
Blob Wars : Blob and Conquer is a 3rd person action shooter. With the apparent defeat of Galdov and the reclaiming of the Fire, Space, Time and Reality Crystals, the Blobs battle was only just beginning.
Bob had rescued many Blobs and fought many battles, but now he had an ever bigger task ahead of him. The Blobs homeworld is still littered with the alien forces and Bob once again makes it his task to lead the counter attack.
But even without Galdov the aliens are still extremely well organised.
Main features:
- Explore and battle in full 3D environments
- Use and aquire mutliple weapons (uzis, shotguns, grenades)
- Fight familiar enemies - Assimilated Blobs, Eye Droids.
- Auto targetting enables you to maintain a lock on enemies whilst dodging around
- Blob allies - Fight alongside buddies such as Teeka the Scout
<<lessBob had rescued many Blobs and fought many battles, but now he had an ever bigger task ahead of him. The Blobs homeworld is still littered with the alien forces and Bob once again makes it his task to lead the counter attack.
But even without Galdov the aliens are still extremely well organised.
Main features:
- Explore and battle in full 3D environments
- Use and aquire mutliple weapons (uzis, shotguns, grenades)
- Fight familiar enemies - Assimilated Blobs, Eye Droids.
- Auto targetting enables you to maintain a lock on enemies whilst dodging around
- Blob allies - Fight alongside buddies such as Teeka the Scout
Download (33MB)
Added: 2007-05-30 License: GPL (GNU General Public License) Price:
889 downloads
Bobs Calculator 1.11
Bobs Calculator is a simple command-line calculator. more>>
Bobs Calculator is a simple command-line calculator. Does standard math in base 2/8/10/16, binary and/or/xor/not, and binary shift left / right.
Uses readline for command history and prints out calculation results in base 2/8/10/16. Great for random calculations during coding, or whatever. New version 1.1 inspired by ? key in IDA. Not a bc(1) clone.
Installation:
1. make
2. ./bc
3. help
4. C-d
5. vi calc.y
6. read top comment
7. :q
8. cp bc /somewhere/in/path
9. rehash (on *csh)
<<lessUses readline for command history and prints out calculation results in base 2/8/10/16. Great for random calculations during coding, or whatever. New version 1.1 inspired by ? key in IDA. Not a bc(1) clone.
Installation:
1. make
2. ./bc
3. help
4. C-d
5. vi calc.y
6. read top comment
7. :q
8. cp bc /somewhere/in/path
9. rehash (on *csh)
Download (0.012MB)
Added: 2006-10-20 License: GPL (GNU General Public License) Price:
1099 downloads
Webfwlog 0.93
Webfwlog is a flexible web-based firewall log analyzer and reporting tool. more>>
Webfwlog is a flexible web-based firewall log analyzer and reporting tool. Webfwlog supports standard system logs for linux, FreeBSD, NetBSD, Solaris, Irix, OpenBSD, OS X, etc. as well as Windows XP.
Supported log file formats are netfilter, ipfilter, ipfw, ipchains and Windows XP. Webfwlog also supports logs saved in a database using the ULOGD target of the linux netfilter project.
With Webfwlog you can design reports to use on your logged data in whatever configuration you desire. Included are example reports as a starting point.
You can sort a report with a single click, "drill-down" on the reports all the way to the packet level, and save your reports for later use. You can also create a link directly to any saved report.
<<lessSupported log file formats are netfilter, ipfilter, ipfw, ipchains and Windows XP. Webfwlog also supports logs saved in a database using the ULOGD target of the linux netfilter project.
With Webfwlog you can design reports to use on your logged data in whatever configuration you desire. Included are example reports as a starting point.
You can sort a report with a single click, "drill-down" on the reports all the way to the packet level, and save your reports for later use. You can also create a link directly to any saved report.
Download (0.14MB)
Added: 2007-06-01 License: GPL (GNU General Public License) Price:
876 downloads
Radstock 0.66
Radstock is a tool to analyse RADIUS traffic on high volume radius servers. more>>
Radstock is a tool to analyse RADIUS traffic on high volume radius servers. It has the ability to fully decode each packet, and also has extensive filters capabilities to allow you to selectively match RADIUS packets.
It provides the ability to fully decode each packet. Here is some sample output.
The key feature of radstock is its ability to filter the packets shown based on any attribute. It will also listen out for responses to matched packets and display these as well. An example filter would be (all on one line):
radstock -e "(user-name = paul or user-name = bob) and exists nas-port-id"
To compile radstock you need the following libraries:
libpcap
flex or lex
bison/yacc
Once you have these, the following three commands should do just about
all you need.
/configure
make
make install
It has been successfully compiled on Linux and Solaris
platforms. Whether it works on them is a completely different story.
<<lessIt provides the ability to fully decode each packet. Here is some sample output.
The key feature of radstock is its ability to filter the packets shown based on any attribute. It will also listen out for responses to matched packets and display these as well. An example filter would be (all on one line):
radstock -e "(user-name = paul or user-name = bob) and exists nas-port-id"
To compile radstock you need the following libraries:
libpcap
flex or lex
bison/yacc
Once you have these, the following three commands should do just about
all you need.
/configure
make
make install
It has been successfully compiled on Linux and Solaris
platforms. Whether it works on them is a completely different story.
Download (0.060MB)
Added: 2006-07-04 License: GPL (GNU General Public License) Price:
1207 downloads
Chaos Visualization 0.9
Chaos Visualization is a program for quickly calculating the amount of predictability in a very simple system. more>>
Chaos Visualization is a program for quickly calculating the amount of predictability in a very simple system: a spring with one side connected to the origin and the other to a weight under gravity.
This amount is chaos is visualized in TIFF images, which can be put in a sequence to show the evolution of chaotic behaviour in this system.
<<lessThis amount is chaos is visualized in TIFF images, which can be put in a sequence to show the evolution of chaotic behaviour in this system.
Download (0.022MB)
Added: 2006-10-30 License: GPL (GNU General Public License) Price:
1095 downloads
UNH-iSCSI 1.7.0
UNH-iSCSI provides a Linux-loadable initiator and target modules for the new IETF iSCSI protocol. more>>
UNH-iSCSI provides a Linux-loadable initiator and target modules for the new IETF iSCSI protocol.
The UNH-iSCSI project consists of vendor-independent reference implementations of both a software initiator and a software target emulator for the latest draft (20) of the new IETF protocol for Storage Area Networks (SANs) called iSCSI.
The initiator and target are implemented as independently loadable modules for the Linux kernel, versions 2.4.18 or later.
The software performs extensive checking for conformance to the standard during operation. It supports almost all components of the iSCSI standard, and development is underway to provide support for the remaining components.
Although these modules have been developed and tested together, they operate independently of one another, and do not have to be used together.
That is, the unh-iscsi initiator is capable of connecting with a target from any vendor, and the unh-iscsi target is capable of accepting connections from any vendors initiator.
Install this package
1. mkdir ; tar -zxf
2. cd /unh_iscsi/src/
3. ./Configure
4. make rpm
5. rpm -ivh /usr/src/redhat/RPMS/i386/unh_iscsi-1.7-0X.i386.rpm
Enhancements:
- Tagged top of tree 1.7.0. Updated README to reflect the default build is 2.6.x kernels instead of 2.4.
- Build and posted new tarball for 1.7.0.
- modify the files command files cmd/ini-manage, cmd/ini-conn-up, cmd/ini-lun-up, and cmd/ini-lun-down so that they will adjust automaticallyto the host number assigned by the scsi subsystem to the initiator module when t is loaded.
<<lessThe UNH-iSCSI project consists of vendor-independent reference implementations of both a software initiator and a software target emulator for the latest draft (20) of the new IETF protocol for Storage Area Networks (SANs) called iSCSI.
The initiator and target are implemented as independently loadable modules for the Linux kernel, versions 2.4.18 or later.
The software performs extensive checking for conformance to the standard during operation. It supports almost all components of the iSCSI standard, and development is underway to provide support for the remaining components.
Although these modules have been developed and tested together, they operate independently of one another, and do not have to be used together.
That is, the unh-iscsi initiator is capable of connecting with a target from any vendor, and the unh-iscsi target is capable of accepting connections from any vendors initiator.
Install this package
1. mkdir ; tar -zxf
2. cd /unh_iscsi/src/
3. ./Configure
4. make rpm
5. rpm -ivh /usr/src/redhat/RPMS/i386/unh_iscsi-1.7-0X.i386.rpm
Enhancements:
- Tagged top of tree 1.7.0. Updated README to reflect the default build is 2.6.x kernels instead of 2.4.
- Build and posted new tarball for 1.7.0.
- modify the files command files cmd/ini-manage, cmd/ini-conn-up, cmd/ini-lun-up, and cmd/ini-lun-down so that they will adjust automaticallyto the host number assigned by the scsi subsystem to the initiator module when t is loaded.
Download (0.53MB)
Added: 2007-03-05 License: GPL (GNU General Public License) Price:
965 downloads
B::Deparse 5.8.8
B::Deparse is a Perl compiler backend to produce perl code. more>>
B::Deparse is a Perl compiler backend to produce perl code.
SYNOPSIS
perl -MO=Deparse[,-d][,-fFILE][,-p][,-q][,-l] [,-sLETTERS][,-xLEVEL] prog.pl
B::Deparse is a backend module for the Perl compiler that generates perl source code, based on the internal compiled structure that perl itself creates after parsing a program. The output of B::Deparse wont be exactly the same as the original source, since perl doesnt keep track of comments or whitespace, and there isnt a one-to-one correspondence between perls syntactical constructions and their compiled form, but it will often be close. When you use the -p option, the output also includes parentheses even when they are not required by precedence, which can make it easy to see if perl is parsing your expressions the way you intended.
While B::Deparse goes to some lengths to try to figure out what your original program was doing, some parts of the language can still trip it up; it still fails even on some parts of Perls own test suite. If you encounter a failure other than the most common ones described in the BUGS section below, you can help contribute to B::Deparses ongoing development by submitting a bug report with a small example.
OPTIONS
As with all compiler backend options, these must follow directly after the -MO=Deparse, separated by a comma but not any white space.
-d
Output data values (when they appear as constants) using Data::Dumper. Without this option, B::Deparse will use some simple routines of its own for the same purpose. Currently, Data::Dumper is better for some kinds of data (such as complex structures with sharing and self-reference) while the built-in routines are better for others (such as odd floating-point values).
-fFILE
Normally, B::Deparse deparses the main code of a program, and all the subs defined in the same file. To include subs defined in other files, pass the -f option with the filename. You can pass the -f option several times, to include more than one secondary file. (Most of the time you dont want to use it at all.) You can also use this option to include subs which are defined in the scope of a #line directive with two parameters.
-l
Add #line declarations to the output based on the line and file locations of the original code.
-p
Print extra parentheses. Without this option, B::Deparse includes parentheses in its output only when they are needed, based on the structure of your program. With -p, it uses parentheses (almost) whenever they would be legal. This can be useful if you are used to LISP, or if you want to see how perl parses your input. If you say
if ($var & 0x7f == 65) {print "Gimme an A!"}
print ($which ? $a : $b), "n";
$name = $ENV{USER} or "Bob";
B::Deparse,-p will print
if (($var & 0)) {
print(Gimme an A!)
};
(print(($which ? $a : $b)), ???);
(($name = $ENV{USER}) or ???)
which probably isnt what you intended (the ??? is a sign that perl optimized away a constant value).
-P
Disable prototype checking. With this option, all function calls are deparsed as if no prototype was defined for them. In other words,
perl -MO=Deparse,-P -e sub foo (@) { 1 } foo @x
will print
sub foo (@) {
1;
}
&foo(@x);
making clear how the parameters are actually passed to foo.
-q
Expand double-quoted strings into the corresponding combinations of concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For instance, print
print "Hello, $world, @ladies, u$gentlemenE, uL$me!";
as
print Hello, . $world . , . join($", @ladies) . ,
. ucfirst($gentlemen) . , . ucfirst(lc $me . !);
Note that the expanded form represents the way perl handles such constructions internally -- this option actually turns off the reverse translation that B::Deparse usually does. On the other hand, note that $x = "$y" is not the same as $x = $y: the former makes the value of $y into a string before doing the assignment.
-sLETTERS
Tweak the style of B::Deparses output. The letters should follow directly after the s, with no space or punctuation. The following options are available:
C
Cuddle elsif, else, and continue blocks. For example, print
if (...) {
...
} else {
...
}
instead of
if (...) {
...
}
else {
...
}
The default is not to cuddle.
iNUMBER
Indent lines by multiples of NUMBER columns. The default is 4 columns.
T
Use tabs for each 8 columns of indent. The default is to use only spaces. For instance, if the style options are -si4T, a line thats indented 3 times will be preceded by one tab and four spaces; if the options were -si8T, the same line would be preceded by three tabs.
vSTRING.
Print STRING for the value of a constant that cant be determined because it was optimized away (mnemonic: this happens when a constant is used in void context). The end of the string is marked by a period. The string should be a valid perl expression, generally a constant. Note that unless its a number, it probably needs to be quoted, and on a command line quotes need to be protected from the shell. Some conventional values include 0, 1, 42, , foo, and Useless use of constant omitted (which may need to be -sv"Useless use of constant omitted." or something similar depending on your shell). The default is ???. If youre using B::Deparse on a module or other file thats required, you shouldnt use a value that evaluates to false, since the customary true constant at the end of a module will be in void context when the file is compiled as a main program.
-xLEVEL
Expand conventional syntax constructions into equivalent ones that expose their internal operation. LEVEL should be a digit, with higher values meaning more expansion. As with -q, this actually involves turning off special cases in B::Deparses normal operations.
If LEVEL is at least 3, for loops will be translated into equivalent while loops with continue blocks; for instance
for ($i = 0; $i < 10; ++$i) {
print $i;
}
turns into
$i = 0;
while ($i < 10) {
print $i;
} continue {
++$i
}
Note that in a few cases this translation cant be perfectly carried back into the source code -- if the loops initializer declares a my variable, for instance, it wont have the correct scope outside of the loop.
If LEVEL is at least 5, use declarations will be translated into BEGIN blocks containing calls to require and import; for instance,
use strict refs;
turns into
sub BEGIN {
require strict;
do {
strict->import(refs)
};
}
If LEVEL is at least 7, if statements will be translated into equivalent expressions using &&, ?: and do {}; for instance
print hi if $nice;
if ($nice) {
print hi;
}
if ($nice) {
print hi;
} else {
print bye;
}
turns into
$nice and print hi;
$nice and do { print hi };
$nice ? do { print hi } : do { print bye };
Long sequences of elsifs will turn into nested ternary operators, which B::Deparse doesnt know how to indent nicely.
<<lessSYNOPSIS
perl -MO=Deparse[,-d][,-fFILE][,-p][,-q][,-l] [,-sLETTERS][,-xLEVEL] prog.pl
B::Deparse is a backend module for the Perl compiler that generates perl source code, based on the internal compiled structure that perl itself creates after parsing a program. The output of B::Deparse wont be exactly the same as the original source, since perl doesnt keep track of comments or whitespace, and there isnt a one-to-one correspondence between perls syntactical constructions and their compiled form, but it will often be close. When you use the -p option, the output also includes parentheses even when they are not required by precedence, which can make it easy to see if perl is parsing your expressions the way you intended.
While B::Deparse goes to some lengths to try to figure out what your original program was doing, some parts of the language can still trip it up; it still fails even on some parts of Perls own test suite. If you encounter a failure other than the most common ones described in the BUGS section below, you can help contribute to B::Deparses ongoing development by submitting a bug report with a small example.
OPTIONS
As with all compiler backend options, these must follow directly after the -MO=Deparse, separated by a comma but not any white space.
-d
Output data values (when they appear as constants) using Data::Dumper. Without this option, B::Deparse will use some simple routines of its own for the same purpose. Currently, Data::Dumper is better for some kinds of data (such as complex structures with sharing and self-reference) while the built-in routines are better for others (such as odd floating-point values).
-fFILE
Normally, B::Deparse deparses the main code of a program, and all the subs defined in the same file. To include subs defined in other files, pass the -f option with the filename. You can pass the -f option several times, to include more than one secondary file. (Most of the time you dont want to use it at all.) You can also use this option to include subs which are defined in the scope of a #line directive with two parameters.
-l
Add #line declarations to the output based on the line and file locations of the original code.
-p
Print extra parentheses. Without this option, B::Deparse includes parentheses in its output only when they are needed, based on the structure of your program. With -p, it uses parentheses (almost) whenever they would be legal. This can be useful if you are used to LISP, or if you want to see how perl parses your input. If you say
if ($var & 0x7f == 65) {print "Gimme an A!"}
print ($which ? $a : $b), "n";
$name = $ENV{USER} or "Bob";
B::Deparse,-p will print
if (($var & 0)) {
print(Gimme an A!)
};
(print(($which ? $a : $b)), ???);
(($name = $ENV{USER}) or ???)
which probably isnt what you intended (the ??? is a sign that perl optimized away a constant value).
-P
Disable prototype checking. With this option, all function calls are deparsed as if no prototype was defined for them. In other words,
perl -MO=Deparse,-P -e sub foo (@) { 1 } foo @x
will print
sub foo (@) {
1;
}
&foo(@x);
making clear how the parameters are actually passed to foo.
-q
Expand double-quoted strings into the corresponding combinations of concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For instance, print
print "Hello, $world, @ladies, u$gentlemenE, uL$me!";
as
print Hello, . $world . , . join($", @ladies) . ,
. ucfirst($gentlemen) . , . ucfirst(lc $me . !);
Note that the expanded form represents the way perl handles such constructions internally -- this option actually turns off the reverse translation that B::Deparse usually does. On the other hand, note that $x = "$y" is not the same as $x = $y: the former makes the value of $y into a string before doing the assignment.
-sLETTERS
Tweak the style of B::Deparses output. The letters should follow directly after the s, with no space or punctuation. The following options are available:
C
Cuddle elsif, else, and continue blocks. For example, print
if (...) {
...
} else {
...
}
instead of
if (...) {
...
}
else {
...
}
The default is not to cuddle.
iNUMBER
Indent lines by multiples of NUMBER columns. The default is 4 columns.
T
Use tabs for each 8 columns of indent. The default is to use only spaces. For instance, if the style options are -si4T, a line thats indented 3 times will be preceded by one tab and four spaces; if the options were -si8T, the same line would be preceded by three tabs.
vSTRING.
Print STRING for the value of a constant that cant be determined because it was optimized away (mnemonic: this happens when a constant is used in void context). The end of the string is marked by a period. The string should be a valid perl expression, generally a constant. Note that unless its a number, it probably needs to be quoted, and on a command line quotes need to be protected from the shell. Some conventional values include 0, 1, 42, , foo, and Useless use of constant omitted (which may need to be -sv"Useless use of constant omitted." or something similar depending on your shell). The default is ???. If youre using B::Deparse on a module or other file thats required, you shouldnt use a value that evaluates to false, since the customary true constant at the end of a module will be in void context when the file is compiled as a main program.
-xLEVEL
Expand conventional syntax constructions into equivalent ones that expose their internal operation. LEVEL should be a digit, with higher values meaning more expansion. As with -q, this actually involves turning off special cases in B::Deparses normal operations.
If LEVEL is at least 3, for loops will be translated into equivalent while loops with continue blocks; for instance
for ($i = 0; $i < 10; ++$i) {
print $i;
}
turns into
$i = 0;
while ($i < 10) {
print $i;
} continue {
++$i
}
Note that in a few cases this translation cant be perfectly carried back into the source code -- if the loops initializer declares a my variable, for instance, it wont have the correct scope outside of the loop.
If LEVEL is at least 5, use declarations will be translated into BEGIN blocks containing calls to require and import; for instance,
use strict refs;
turns into
sub BEGIN {
require strict;
do {
strict->import(refs)
};
}
If LEVEL is at least 7, if statements will be translated into equivalent expressions using &&, ?: and do {}; for instance
print hi if $nice;
if ($nice) {
print hi;
}
if ($nice) {
print hi;
} else {
print bye;
}
turns into
$nice and print hi;
$nice and do { print hi };
$nice ? do { print hi } : do { print bye };
Long sequences of elsifs will turn into nested ternary operators, which B::Deparse doesnt know how to indent nicely.
Download (12.2MB)
Added: 2007-06-25 License: Perl Artistic License Price:
852 downloads
DBIx::PDlib 1.008
DBIx::PDlib is a Perl with DBI SQL abstraction and convenience methods. more>>
DBIx::PDlib is a Perl with DBI SQL abstraction and convenience methods.
SYNOPSIS
use DBIx::PDlib;
my $db = DBIx::PDlib->connect({
driver => mydriver,
host => myhost.com,
dbname => mydb,
user => myuser,
password => mypassword,
});
my ($name) = $db->select(name,table1,"id = 10");
my $dbi_sth = $db->iterated_select(name,table1,
"id > 2",ORDER BY name);
while (my ($name) = $dbi_sth->fetchrow_array) { ...do stuff... }
my $rv = $db->insert(table1,[id,name],[11,Bob]);
my $rv = $db->update(table1,[name],[Bob Jr.],"id = 11");
my $rv = $db->delete(table1,"id = 11");
my @quoted = $db->quote( "something", $foo, $bar, @moredata );
my $rv = $db->raw_query("CREATE TABLE table1 (id int, name char)");
if ($db->connected) { ...were connected... }
$db->disconnect;
ABSTRACT
DBIx::PDlib provides a simplified way to interact with DBI. It provides methods for SELECT, INSERT, UPDATE, and DELETE which result in having to type less code to do the DBI queries. It does as little as possible to make things easier.
What it doesnt do... It isnt trying to replace DBI. Its not trying to completely abstract SQL statement building into some 100% perllike syntax (though that is REALLY cool, and what I liked about DBIx::Abstract), but it does abstract it some.
<<lessSYNOPSIS
use DBIx::PDlib;
my $db = DBIx::PDlib->connect({
driver => mydriver,
host => myhost.com,
dbname => mydb,
user => myuser,
password => mypassword,
});
my ($name) = $db->select(name,table1,"id = 10");
my $dbi_sth = $db->iterated_select(name,table1,
"id > 2",ORDER BY name);
while (my ($name) = $dbi_sth->fetchrow_array) { ...do stuff... }
my $rv = $db->insert(table1,[id,name],[11,Bob]);
my $rv = $db->update(table1,[name],[Bob Jr.],"id = 11");
my $rv = $db->delete(table1,"id = 11");
my @quoted = $db->quote( "something", $foo, $bar, @moredata );
my $rv = $db->raw_query("CREATE TABLE table1 (id int, name char)");
if ($db->connected) { ...were connected... }
$db->disconnect;
ABSTRACT
DBIx::PDlib provides a simplified way to interact with DBI. It provides methods for SELECT, INSERT, UPDATE, and DELETE which result in having to type less code to do the DBI queries. It does as little as possible to make things easier.
What it doesnt do... It isnt trying to replace DBI. Its not trying to completely abstract SQL statement building into some 100% perllike syntax (though that is REALLY cool, and what I liked about DBIx::Abstract), but it does abstract it some.
Download (0.010MB)
Added: 2006-10-04 License: Perl Artistic License Price:
1115 downloads
Algorithm::SixDegrees 0.03
Algorithm::SixDegrees is a Perl module that can find a path through linked elements in a set. more>>
Algorithm::SixDegrees is a Perl module that can find a path through linked elements in a set.
SYNOPSIS
use Algorithm::SixDegrees;
my $sd1 = Algorithm::SixDegrees->new();
$sd1->data_source( actors => &starred_in );
$sd1->data_source( movies => &stars_of );
@elems = $sd1->make_link(actors, Tom Cruise, Kevin Bacon);
my $sd2 = Algorithm::SixDegrees->new();
$sd2->forward_data_source( friends => &friends, @args );
$sd2->reverse_data_source( friends => &friend_of, @args );
@elems = $sd2->make_link(friends, Bob, Mark);
Algorithm::SixDegrees is a Perl implementation of a breadth-first search through a set of linked elements in order to find the shortest possible chain linking two specific elements together.
In simpler terms, this module will take a bunch of related items and attempt to find a relationship between two of them. It looks for the shortest (and generally, simplest) relationship it can find.
<<lessSYNOPSIS
use Algorithm::SixDegrees;
my $sd1 = Algorithm::SixDegrees->new();
$sd1->data_source( actors => &starred_in );
$sd1->data_source( movies => &stars_of );
@elems = $sd1->make_link(actors, Tom Cruise, Kevin Bacon);
my $sd2 = Algorithm::SixDegrees->new();
$sd2->forward_data_source( friends => &friends, @args );
$sd2->reverse_data_source( friends => &friend_of, @args );
@elems = $sd2->make_link(friends, Bob, Mark);
Algorithm::SixDegrees is a Perl implementation of a breadth-first search through a set of linked elements in order to find the shortest possible chain linking two specific elements together.
In simpler terms, this module will take a bunch of related items and attempt to find a relationship between two of them. It looks for the shortest (and generally, simplest) relationship it can find.
Download (0.011MB)
Added: 2007-05-17 License: Perl Artistic License Price:
891 downloads
Jbum 1.20
Jbum is an application (Webstart or jar) that takes a directory of images and turns them into a page of HTML. more>>
Jbum is an application (Webstart or jar) that takes a directory of images and turns them into a page of HTML.
It generates thumbnails and supports rotating, reordering, captioning, spell-checking, and styling.
Enhancements:
- An image rotation memory leak was fixed.
<<lessIt generates thumbnails and supports rotating, reordering, captioning, spell-checking, and styling.
Enhancements:
- An image rotation memory leak was fixed.
Download (MB)
Added: 2007-06-14 License: BSD License Price:
863 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 bob rudis 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