put method
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3532
Smart Common Input Method platform 1.4.7
Smart Common Input Method platform is a development platform. more>>
Smart Common Input Method platform is a development platform that significantly reduces the difficulty of input method development.
SCIM splits input method into three parts: FrontEnd, which handles user interface and communication with client applications, Server, which handles the key event to string conversion work, and BackEnd, which manages all of the Servers.
Enhancements:
- The implementation of scim::Socket was improved for better error handling.
- A high power consumption issue caused by the X11 frontend was fixed.
<<lessSCIM splits input method into three parts: FrontEnd, which handles user interface and communication with client applications, Server, which handles the key event to string conversion work, and BackEnd, which manages all of the Servers.
Enhancements:
- The implementation of scim::Socket was improved for better error handling.
- A high power consumption issue caused by the X11 frontend was fixed.
Download (2.5MB)
Added: 2007-06-27 License: LGPL (GNU Lesser General Public License) Price:
852 downloads
mod_put 1.0
mod_put Apcahe module implements the HTTP/1.1 PUT and DELETE methods. more>>
mod_put Apache module implements the HTTP/1.1 PUT and DELETE methods. Please notice that it can be a big security hole to activate them without securing the web server.
Configuration:
Integration with Apache 1.3.x - compiling and linking
To link mod_put into Apache (recommended for best performance), just add a add-module clause to your configure call:
./configure --add-module=/path/to/mod_put.c
Integrating into Apache 1.2.x - compiling and linking
To link the put module with Apache, you must rebuild Apache from its sources with adding mod_put in the configuration file:
Untar mod_put.tar.gz in Apache sources directory
Edit Configuration file according your installation
Run the Configure script to rebuild the makefile
Build Apache by typing make
Install the brand new httpd program
Edit the web server configuration files (typically httpd.conf and access.conf)
Restart the web daemon
Example of a Configuration file
...
Module mime_module mod_mime.o
Module access_module mod_access.o
Module auth_module mod_auth.o
Module negotiation_module mod_negotiation.o
Module includes_module mod_include.o
Module dir_module mod_dir.o
Module cgi_module mod_cgi.o
...
#
# Miscellaneous modules
#
Module put_module mod_put.o
<<lessConfiguration:
Integration with Apache 1.3.x - compiling and linking
To link mod_put into Apache (recommended for best performance), just add a add-module clause to your configure call:
./configure --add-module=/path/to/mod_put.c
Integrating into Apache 1.2.x - compiling and linking
To link the put module with Apache, you must rebuild Apache from its sources with adding mod_put in the configuration file:
Untar mod_put.tar.gz in Apache sources directory
Edit Configuration file according your installation
Run the Configure script to rebuild the makefile
Build Apache by typing make
Install the brand new httpd program
Edit the web server configuration files (typically httpd.conf and access.conf)
Restart the web daemon
Example of a Configuration file
...
Module mime_module mod_mime.o
Module access_module mod_access.o
Module auth_module mod_auth.o
Module negotiation_module mod_negotiation.o
Module includes_module mod_include.o
Module dir_module mod_dir.o
Module cgi_module mod_cgi.o
...
#
# Miscellaneous modules
#
Module put_module mod_put.o
Download (0.005MB)
Added: 2006-04-28 License: GPL (GNU General Public License) Price:
1274 downloads
p-unit 0.13
p-unit is a framework for benchmarking performance. more>>
p-unit is a framework for benchmarking performance. The project records memory consumption and execution time, and generates results in the form of plain text, image, and PDF file. Users can also easily register their own reporters by implementing PUnitEventList.
Test Suite and Test Class
Test suite and test class are two important concepts in p-unit. p-unit does not require any special type for a test class, so every class can be a test class. Of course, it includes junit test cases. There is one special interface for special p-unit only test class - p-unitTest. p-unit executes a normal test as following procedure:
invoke setUp if there is.
invoke the test method.
invoke tearDown method.
Noticed that setUp and tearDown will also be regarded as a part of performance test. If you dont want to count them into performance data, you need to implement p-unitTest interface, which will be executed as:
invoke setUpBeforeWatchers.
invoke setAfterWatchers.
invoke the test method.
invoke tearDownBeforeWatchers.
invoke tearDownAfterWatchers.
As the name suggests, you can put the setUp and tearDown code into the setUpBeforeWatchers and tearDownAfterWatchers.
Time/Memory Record
p-unit records the memory and time consumption of running a test method. There is a "watcher" concept in p-unit, which supervises the status during running the test method. By default, memory watcher and time watcher are installed. p-unit supports user-defined watcher too. The user only needs to implement the Watcher interface and register it to p-unit method runner.
Enhancements:
- Changes to adopt the Apache License 2.0.
- A customized watcher infrastructure to make it possible to report results from test cases.
- A new EventListener that sets public test fields on start up.
<<lessTest Suite and Test Class
Test suite and test class are two important concepts in p-unit. p-unit does not require any special type for a test class, so every class can be a test class. Of course, it includes junit test cases. There is one special interface for special p-unit only test class - p-unitTest. p-unit executes a normal test as following procedure:
invoke setUp if there is.
invoke the test method.
invoke tearDown method.
Noticed that setUp and tearDown will also be regarded as a part of performance test. If you dont want to count them into performance data, you need to implement p-unitTest interface, which will be executed as:
invoke setUpBeforeWatchers.
invoke setAfterWatchers.
invoke the test method.
invoke tearDownBeforeWatchers.
invoke tearDownAfterWatchers.
As the name suggests, you can put the setUp and tearDown code into the setUpBeforeWatchers and tearDownAfterWatchers.
Time/Memory Record
p-unit records the memory and time consumption of running a test method. There is a "watcher" concept in p-unit, which supervises the status during running the test method. By default, memory watcher and time watcher are installed. p-unit supports user-defined watcher too. The user only needs to implement the Watcher interface and register it to p-unit method runner.
Enhancements:
- Changes to adopt the Apache License 2.0.
- A customized watcher infrastructure to make it possible to report results from test cases.
- A new EventListener that sets public test fields on start up.
Download (0.12MB)
Added: 2007-08-13 License: The Apache License 2.0 Price:
804 downloads
Class::Method::hash 2.08
Class::Method::hash is a Perl module that helps you create methods for handling a hash value. more>>
Class::Method::hash is a Perl module that helps you create methods for handling a hash value.
SYNOPSIS
use Class::MethodMaker
[ hash => [qw/ x /] ];
$instance->x; # empty
$instance->x(a => 1, b => 2, c => 3);
$instance->x_count == 3; # true
$instance->x = (b => 5, d => 8); # Note this *replaces* the hash,
# not adds to it
$instance->x_index(b) == 5; # true
$instance->x_exists(c); # false
$instance->x_exists(d); # true
Creates methods to handle hash values in an object. For a component named x, by default creates methods x, x_reset, x_clear, x_isset, x_count, x_index, x_keys, x_values, x_each, x_exists, x_delete, x_set, x_get.
<<lessSYNOPSIS
use Class::MethodMaker
[ hash => [qw/ x /] ];
$instance->x; # empty
$instance->x(a => 1, b => 2, c => 3);
$instance->x_count == 3; # true
$instance->x = (b => 5, d => 8); # Note this *replaces* the hash,
# not adds to it
$instance->x_index(b) == 5; # true
$instance->x_exists(c); # false
$instance->x_exists(d); # true
Creates methods to handle hash values in an object. For a component named x, by default creates methods x, x_reset, x_clear, x_isset, x_count, x_index, x_keys, x_values, x_each, x_exists, x_delete, x_set, x_get.
Download (0.087MB)
Added: 2007-07-05 License: Perl Artistic License Price:
841 downloads
Method::Declarative 0.03
Method::Declarative is a Perl module to create methods with declarative syntax. more>>
Method::Declarative is a Perl module to create methods with declarative syntax.
SYNOPSIS
use Method::Declarative
(
--defaults =>
{
precheck =>
[
[ qw(precheck1 arg1 arg2) ],
# ...
],
postcheck =>
[
[ qw(postcheck1 arg3 arg4) ],
# ...
],
init =>
[
[ initcheck1 ],
# ...
],
end =>
[
[ endcheck1 ],
# ...
],
once =>
[
[ oncecheck1 ],
] ,
package => __CALLER__::internal,
},
method1 =>
{
ignoredefaults => [ qw(precheck end once) ],
code => __method1,
},
) ;
The Method::Declarative module creates methods in a using class namespace. The methods are created using a declarative syntax and building blocks provided by the using class. This class does not create the objects themselves.
The using class invokes Method::Declarative, passing it list of key-value pairs, where each key is the name of a method to declare (or the special key --default) and a hash reference of construction directives. The valid keys in the construction hash refs are:
code
The value corresponding to code key is a method name or code reference to be executed as the method. It is called like this:
$obj->$codeval(@args)
where $obj is the object or class name being used, $codeval is the coresponding reference or method name, and @args are the current arguments for the invocation. If $codeval is a method name, it needs to be reachable from $obj.
A code key in a method declaration will override any code key set in the --defaults section.
end
The value corresponding to the end key is an array reference, where each entry of the referenced array is another array ref. Each of the internally referenced arrays starts with a code reference or method name. The remaining elements of the array are used as arguments.
Each method declared by the arrays referenced from end are called on the class where the declared method resides in an END block when Method::Declarative unloads.
Each method is called like this:
$pkg->$codeval($name[, @args]);
where $pkg is the package or class name for the method, $name is the method name, and @args is the optional arguments that can be listed in each referenced list.
end blocks are run in the reverse order of method declaration (for example, if method1 is declared before method2, method2s end declaration will be run before method1s), and for each method they are run in the order in which they are declared.
Note that this is not an object destructor, and no objects of a particular class may still exist when these methods are run.
ignoredefaults
The value corresponding to the ignoredefaults key is an array reference pointing to a list of strings. Each string must corespond to a valid key, and indicates that any in-force defaults for that key are to be ignored. See the section on the special --defaults method for details.
init
The value corresponding to the init key is identical in structure to that corresponding to the end key. The only difference is that the declared methods/code refs are executed as soon as the method is available, rather than during an END block.
once
The value corresponding to the once key is identical in structure to that corresponding to the end key. The values are used when the method is invoked, however.
If the method is invoked on an object based on a hash ref, or on the class itself, and it has not been invoked before on that object or hash ref, the methods and code refs declared by this key are executed one at a time, like this:
$obj->$codeval($name, $isscalar, $argsref[, @args ]);
where $obj is the object or class on which the method is being invoked, $codeval is the method name or code reference supplied, $name is the name of the method, $isscalar is a flag to specify if the declared method itself is being executed in a scalar context, $argsref is a reference to the method arguments (@_, in other words), and @args are any optional arguments in the declaration.
The return value of each method or code reference call is used as the new arguments array for successive iterations or the declared method itself (including the object or class name). Yes, that means that these functions can change the the object or class out from under successive operations.
Any method or code ref returning an empty list will cause further processing for the method to abort, and an empty list or undefined value (as appropriate for the context) will be returned as the declared methods return value.
package
The value coresponding to the package key is a string that determines where the declared method is created (which is the callers package by default, unless modified with a --defaults section). The string __CALLER__ can be used to specify the callers namespace, so constructions like the one in the synopsis can be used to create methods in a namespace based on the calling package namespace.
postcheck
The value coresponding to the postcheck key is identical in structure to that coresponding to the end key. The postcheck operations are run like this:
$obj->$codeval($name, $isscalar, $vref[, @args ]);
where $obj is the underlying object or class, $codeval is the method or code ref from the list, $name is the name of the declared method, $isscalar is the flag specifying if the declared method was called in a scalar context, $vref is an array reference of the currently to-be-returned values, and @args is the optional arguments from the list.
Each method or code reference is expected to return the value(s) it wishes to have returned from the method. Returning a null list does NOT stop processing of later postcheck declarations.
precheck
The precheck phase operates similarly to the once phase, except that its triggered on all method calls (even if the underlying object is not a hash reference or a class name).
Any illegal or unrecognized key will cause a warning, and processing of the affected hashref will stop. This means a --defaults section will be ineffective, or a declared method wont be created.
<<lessSYNOPSIS
use Method::Declarative
(
--defaults =>
{
precheck =>
[
[ qw(precheck1 arg1 arg2) ],
# ...
],
postcheck =>
[
[ qw(postcheck1 arg3 arg4) ],
# ...
],
init =>
[
[ initcheck1 ],
# ...
],
end =>
[
[ endcheck1 ],
# ...
],
once =>
[
[ oncecheck1 ],
] ,
package => __CALLER__::internal,
},
method1 =>
{
ignoredefaults => [ qw(precheck end once) ],
code => __method1,
},
) ;
The Method::Declarative module creates methods in a using class namespace. The methods are created using a declarative syntax and building blocks provided by the using class. This class does not create the objects themselves.
The using class invokes Method::Declarative, passing it list of key-value pairs, where each key is the name of a method to declare (or the special key --default) and a hash reference of construction directives. The valid keys in the construction hash refs are:
code
The value corresponding to code key is a method name or code reference to be executed as the method. It is called like this:
$obj->$codeval(@args)
where $obj is the object or class name being used, $codeval is the coresponding reference or method name, and @args are the current arguments for the invocation. If $codeval is a method name, it needs to be reachable from $obj.
A code key in a method declaration will override any code key set in the --defaults section.
end
The value corresponding to the end key is an array reference, where each entry of the referenced array is another array ref. Each of the internally referenced arrays starts with a code reference or method name. The remaining elements of the array are used as arguments.
Each method declared by the arrays referenced from end are called on the class where the declared method resides in an END block when Method::Declarative unloads.
Each method is called like this:
$pkg->$codeval($name[, @args]);
where $pkg is the package or class name for the method, $name is the method name, and @args is the optional arguments that can be listed in each referenced list.
end blocks are run in the reverse order of method declaration (for example, if method1 is declared before method2, method2s end declaration will be run before method1s), and for each method they are run in the order in which they are declared.
Note that this is not an object destructor, and no objects of a particular class may still exist when these methods are run.
ignoredefaults
The value corresponding to the ignoredefaults key is an array reference pointing to a list of strings. Each string must corespond to a valid key, and indicates that any in-force defaults for that key are to be ignored. See the section on the special --defaults method for details.
init
The value corresponding to the init key is identical in structure to that corresponding to the end key. The only difference is that the declared methods/code refs are executed as soon as the method is available, rather than during an END block.
once
The value corresponding to the once key is identical in structure to that corresponding to the end key. The values are used when the method is invoked, however.
If the method is invoked on an object based on a hash ref, or on the class itself, and it has not been invoked before on that object or hash ref, the methods and code refs declared by this key are executed one at a time, like this:
$obj->$codeval($name, $isscalar, $argsref[, @args ]);
where $obj is the object or class on which the method is being invoked, $codeval is the method name or code reference supplied, $name is the name of the method, $isscalar is a flag to specify if the declared method itself is being executed in a scalar context, $argsref is a reference to the method arguments (@_, in other words), and @args are any optional arguments in the declaration.
The return value of each method or code reference call is used as the new arguments array for successive iterations or the declared method itself (including the object or class name). Yes, that means that these functions can change the the object or class out from under successive operations.
Any method or code ref returning an empty list will cause further processing for the method to abort, and an empty list or undefined value (as appropriate for the context) will be returned as the declared methods return value.
package
The value coresponding to the package key is a string that determines where the declared method is created (which is the callers package by default, unless modified with a --defaults section). The string __CALLER__ can be used to specify the callers namespace, so constructions like the one in the synopsis can be used to create methods in a namespace based on the calling package namespace.
postcheck
The value coresponding to the postcheck key is identical in structure to that coresponding to the end key. The postcheck operations are run like this:
$obj->$codeval($name, $isscalar, $vref[, @args ]);
where $obj is the underlying object or class, $codeval is the method or code ref from the list, $name is the name of the declared method, $isscalar is the flag specifying if the declared method was called in a scalar context, $vref is an array reference of the currently to-be-returned values, and @args is the optional arguments from the list.
Each method or code reference is expected to return the value(s) it wishes to have returned from the method. Returning a null list does NOT stop processing of later postcheck declarations.
precheck
The precheck phase operates similarly to the once phase, except that its triggered on all method calls (even if the underlying object is not a hash reference or a class name).
Any illegal or unrecognized key will cause a warning, and processing of the affected hashref will stop. This means a --defaults section will be ineffective, or a declared method wont be created.
Download (0.008MB)
Added: 2006-10-18 License: Perl Artistic License Price:
1101 downloads
mod_access
mod_access is an Apache module to access control based on client hostname or IP address. more>>
mod_access is an Apache module to access control based on client hostname or IP address.
The directives provided by mod_access are used in < Directory >, < Files >, and < Location > sections as well as .htaccess files to control access to particular parts of the server. Access can be controlled based on the client hostname, IP address, or other characteristics of the client request, as captured in environment variables.
The Allow and Deny directives are used to specify which clients are or are not allowed access to the server, while the Order directive sets the default access state, and configures how the Allow and Deny directives interact with each other.
Both host-based access restrictions and password-based authentication may be implemented simultaneously. In that case, the Satisfy directive is used to determine how the two sets of restrictions interact.
In general, access restriction directives apply to all access methods (GET, PUT, POST, etc). This is the desired behavior in most cases. However, it is possible to restrict some methods, while leaving other methods unrestricted, by enclosing the directives in a < Limit > section.
<<lessThe directives provided by mod_access are used in < Directory >, < Files >, and < Location > sections as well as .htaccess files to control access to particular parts of the server. Access can be controlled based on the client hostname, IP address, or other characteristics of the client request, as captured in environment variables.
The Allow and Deny directives are used to specify which clients are or are not allowed access to the server, while the Order directive sets the default access state, and configures how the Allow and Deny directives interact with each other.
Both host-based access restrictions and password-based authentication may be implemented simultaneously. In that case, the Satisfy directive is used to determine how the two sets of restrictions interact.
In general, access restriction directives apply to all access methods (GET, PUT, POST, etc). This is the desired behavior in most cases. However, it is possible to restrict some methods, while leaving other methods unrestricted, by enclosing the directives in a < Limit > section.
Download (MB)
Added: 2007-05-05 License: The Apache License Price:
553 downloads
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
KTrayNetworker 0.8c
KTrayNetworker is an application to view network activity on your network device such as eth0. more>>
This program will help you to view network activity on your network device such as eth0, ppp0 and so on.
It put animated, graduated, icons near the KDE tray.
<<lessIt put animated, graduated, icons near the KDE tray.
Download (0.57MB)
Added: 2005-05-27 License: GPL (GNU General Public License) Price:
1611 downloads
PircBot 1.4.6
PircBot is a Java framework for writing IRC bots quickly and easily. more>>
PircBot is a Java framework for writing IRC bots quickly and easily. PircBot has many features like an event-driven architecture to handle common IRC events, flood protection, DCC resuming support, ident support, and more. Its comprehensive logfile format is suitable for use with pisg to generate channel statistics. Full documentation is included, and this page contains a 5-minute step-by-step guide to making your first IRC bot.
PircBot allows you to perform a variety of fun tasks on IRC, but it is also used for more serious applications by the US Navy, the US Air Force, the CIA (unconfirmed), several national defence agencies, and inside the Azureus bittorrent client. But dont let that put you off - its still easy to use!
Enhancements:
- This release adds a new method to make it easy to identify with NickServ.
- This is useful on networks such as Freenode where a client must identify itself before it is able to send private messages.
<<lessPircBot allows you to perform a variety of fun tasks on IRC, but it is also used for more serious applications by the US Navy, the US Air Force, the CIA (unconfirmed), several national defence agencies, and inside the Azureus bittorrent client. But dont let that put you off - its still easy to use!
Enhancements:
- This release adds a new method to make it easy to identify with NickServ.
- This is useful on networks such as Freenode where a client must identify itself before it is able to send private messages.
Download (0.20MB)
Added: 2007-04-20 License: GPL (GNU General Public License) Price:
923 downloads
GOPchop 1.1.7
GOPchop is an open source tool for losslessly cutting and merging hardware-encoded MPEG2 video files. more>>
GOPchop is an open source tool for losslessly cutting and merging hardware-encoded MPEG2 video files. It limits cuts to I-frames or group-of-picture (GOP) boundaries, thereby preventing artifacts and degradation of quality by not needing to re-encode.
GOP boundaries occur frequently enough (especially at scene boundaries), that GOPchops method is quite suitable for many applications. It tends to be most handy for people working with streams created by hardware encoders.
Main features:
- Trimming recordings to desired start/end times.
- Extracting short clips from longer recordings.
- Editing commercials out of recorded TV programs.
- Splitting .VOB files from dual-layer DVD rips so the content can be put on each side of a single-layer DVD-R.
Enhancements:
- GOPchop is nearing the 1.2.0 stable release.
- This version even includes some experimental MPEG1 support from Brent Baccala.
- Several small fixes were added since the 1.1.6 releases changes to preferences handling. Download it and give it a spin!
<<lessGOP boundaries occur frequently enough (especially at scene boundaries), that GOPchops method is quite suitable for many applications. It tends to be most handy for people working with streams created by hardware encoders.
Main features:
- Trimming recordings to desired start/end times.
- Extracting short clips from longer recordings.
- Editing commercials out of recorded TV programs.
- Splitting .VOB files from dual-layer DVD rips so the content can be put on each side of a single-layer DVD-R.
Enhancements:
- GOPchop is nearing the 1.2.0 stable release.
- This version even includes some experimental MPEG1 support from Brent Baccala.
- Several small fixes were added since the 1.1.6 releases changes to preferences handling. Download it and give it a spin!
Download (0.14MB)
Added: 2005-07-07 License: GPL (GNU General Public License) Price:
1572 downloads
Timestamp::Simple 1.01
Timestamp::Simple is a Perl module with simple methods for timestamping. more>>
Timestamp::Simple is a Perl module with simple methods for timestamping.
SYNOPSIS
use Timestamp::Simple qw(stamp);
print stamp, "n";
This module provides a simple method for returning a stamp to mark when an event occurs.
METHODS
stamp()
This method returns a timestamp in the form yyyymmddHHMMSS.
<<lessSYNOPSIS
use Timestamp::Simple qw(stamp);
print stamp, "n";
This module provides a simple method for returning a stamp to mark when an event occurs.
METHODS
stamp()
This method returns a timestamp in the form yyyymmddHHMMSS.
Download (0.010MB)
Added: 2007-04-27 License: Perl Artistic License Price:
912 downloads
Pod::WSDL 0.05
Pod::WSDL is a Perl module that creates WSDL documents from (extended) pod. more>>
Pod::WSDL is a Perl module that creates WSDL documents from (extended) pod.
SYNOPSIS
use Pod::WSDL;
my $pod = new Pod::WSDL(source => My::Server,
location => http://localhost/My/Server,
pretty => 1,
withDocumentation => 1);
print $pod->WSDL;
Parsing the pod
How does Pod::WSDL work? If you instantiate a Pod::WSDL object with the name of the module (or the path of the file, or an open filehandle) providing the web service like this
my $pwsdl = new Pod::WSDL(source => My::Module,
location => http://my.services.location/on/the/web);
Pod::WSDL will try to find My::Module in @INC, open the file, parse it for WSDL directives and prepare the information for WSDL output. By calling
$pwsdl->WSDL;
Pod::WSDL will output the WSDL document. Thats it.
When using Pod::WSDL, the parser expects you to do the following:
Put the pod directly above the subroutines which the web services client is going to call. There may be whitespace between the pod and the sub declaration but nothing else.
Use the =begin/=end respectively the =for directives according to standard pod: anything between =begin WSDL and =end will be treated as pod. Anything composing a paragraph together with =for WSDL will be treated as pod.
Any subroutine not preceeded by WSDL pod will be left unmentioned. Any standard pod will be ignored (though, for an exception to this, see the section on own complex types below).
The individual instructions for Pod::WSDL always begin with a keyword, like _RETURN or _DOC or _FAULT. After this different things may follow, according to the specific type of instruction. The instruction may take one or more lines - everything up to the next line beginning with a keyword or the end of the pod is belonging to the current instruction.
Describing Methods
How do we use Pod::WSDL? In describing a web services method we have to say something about parameters, return values and faults. In addition you might want to add some documentation to these items and to the method itself.
<<lessSYNOPSIS
use Pod::WSDL;
my $pod = new Pod::WSDL(source => My::Server,
location => http://localhost/My/Server,
pretty => 1,
withDocumentation => 1);
print $pod->WSDL;
Parsing the pod
How does Pod::WSDL work? If you instantiate a Pod::WSDL object with the name of the module (or the path of the file, or an open filehandle) providing the web service like this
my $pwsdl = new Pod::WSDL(source => My::Module,
location => http://my.services.location/on/the/web);
Pod::WSDL will try to find My::Module in @INC, open the file, parse it for WSDL directives and prepare the information for WSDL output. By calling
$pwsdl->WSDL;
Pod::WSDL will output the WSDL document. Thats it.
When using Pod::WSDL, the parser expects you to do the following:
Put the pod directly above the subroutines which the web services client is going to call. There may be whitespace between the pod and the sub declaration but nothing else.
Use the =begin/=end respectively the =for directives according to standard pod: anything between =begin WSDL and =end will be treated as pod. Anything composing a paragraph together with =for WSDL will be treated as pod.
Any subroutine not preceeded by WSDL pod will be left unmentioned. Any standard pod will be ignored (though, for an exception to this, see the section on own complex types below).
The individual instructions for Pod::WSDL always begin with a keyword, like _RETURN or _DOC or _FAULT. After this different things may follow, according to the specific type of instruction. The instruction may take one or more lines - everything up to the next line beginning with a keyword or the end of the pod is belonging to the current instruction.
Describing Methods
How do we use Pod::WSDL? In describing a web services method we have to say something about parameters, return values and faults. In addition you might want to add some documentation to these items and to the method itself.
Download (0.027MB)
Added: 2007-02-21 License: Perl Artistic License Price:
975 downloads
Tie::ListKeyedHash 1.02
Tie::ListKeyedHash is a system allowing the use of anonymous arrays as keys to a hash. more>>
Tie::ListKeyedHash is a system allowing the use of anonymous arrays as keys to a hash.
SYNOPSIS
use Tie::ListKeyedHash;
[$X =] tie %hash, Tie::ListKeyedHash;
my $live_key = [key,items,live];
$hash{$live_key} = Hello!;
$hash{[key,trees,grow]} = Goodbye!;
print $hash{[key,items,live]},"n";
delete $hash{$live_key};
my @list = keys %{$hash{[key]}};
print "@listn";
untie %hash ;
Alternatively keys are accessible as:
$hash{key,items,live} = Hello!;
(a bare list/array for the key rather than using an anon list/array reference).
But that slows down the accesses by around 10% and cannot be used for keys that conflict with the value of the $; special variable.
Also usable via the object interface methods put, get,exists,delete,clear. The object interface is about 2x as fast as the tied interface.
Tie::ListKeyedHash ties a hash so that you can use a reference to an array as the key of the hash. It otherwise behaves exactly like a normal hash (including all caveats about trying to use a key as both a hash reference and a scalar value).
This frees you from needing to hardwire hash references in code or having to write tree traversal code to reach arbitrary points in a hash tree.
Example:
########################
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Tie::ListKeyedHash;
my %example;
tie (%example, Tie::ListKeyedHash);
%example = (
a => {
b0 => {
c => value of c,
d => value of d,
e => {
f => value of f,
},
},
b1 => {
g => value of g,
},
},
h => r,
);
my $b_key = [a,b0];
my $d_key = [@$b_key,d];
my $d = $example{$d_key};
print "d = $dn";
my $e_key = [@$b_key, e];
my $e = $example{$e_key};
print e = . Dumper ($e);
my $f_key = [@$b_key, e,f];
my $f = $example{$f_key};
print "f = $fn";
my $h_key = [h];
my $h = $example{$h_key};
print "h = $hn";
########################
The virtues of this particular way of accessing hash-of-hashes (HoH) vs bare hardwired derefererences or tree crawling are as follows:
1) As the number of levels in a HoH increases, the tied object asymptotically approaches the speed of hardwired hash dereferencing without the loss of flexibility penalty of having to hardwire the keys into code in advance.
This gives an important property that it gets faster the deeper a HoH becomes as compared with the speed of software driven tree traveral.
So you can build and access arbitrarily structured HoH and still access deeply buried elements in the tree quickly.
2) The format was designed to use memory efficiently. It takes only a few hundred extra bytes over the size of an untied HoH in memory or when serialized (via Data::Dumper or Storable for example) regardless of how deep the hash is.
3) A reference to an existing HoH can be passed into Tie::ListKeyedHash->new and all of the OO key lists access methods will "just work".
Example:
use Tie::ListKeyedHash;
my %hash = ( a => { b => c } );
my $obj = Tie::ListKeyedHash->new(%hash);
my $b_value = $obj->get([a,b]);
<<lessSYNOPSIS
use Tie::ListKeyedHash;
[$X =] tie %hash, Tie::ListKeyedHash;
my $live_key = [key,items,live];
$hash{$live_key} = Hello!;
$hash{[key,trees,grow]} = Goodbye!;
print $hash{[key,items,live]},"n";
delete $hash{$live_key};
my @list = keys %{$hash{[key]}};
print "@listn";
untie %hash ;
Alternatively keys are accessible as:
$hash{key,items,live} = Hello!;
(a bare list/array for the key rather than using an anon list/array reference).
But that slows down the accesses by around 10% and cannot be used for keys that conflict with the value of the $; special variable.
Also usable via the object interface methods put, get,exists,delete,clear. The object interface is about 2x as fast as the tied interface.
Tie::ListKeyedHash ties a hash so that you can use a reference to an array as the key of the hash. It otherwise behaves exactly like a normal hash (including all caveats about trying to use a key as both a hash reference and a scalar value).
This frees you from needing to hardwire hash references in code or having to write tree traversal code to reach arbitrary points in a hash tree.
Example:
########################
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Tie::ListKeyedHash;
my %example;
tie (%example, Tie::ListKeyedHash);
%example = (
a => {
b0 => {
c => value of c,
d => value of d,
e => {
f => value of f,
},
},
b1 => {
g => value of g,
},
},
h => r,
);
my $b_key = [a,b0];
my $d_key = [@$b_key,d];
my $d = $example{$d_key};
print "d = $dn";
my $e_key = [@$b_key, e];
my $e = $example{$e_key};
print e = . Dumper ($e);
my $f_key = [@$b_key, e,f];
my $f = $example{$f_key};
print "f = $fn";
my $h_key = [h];
my $h = $example{$h_key};
print "h = $hn";
########################
The virtues of this particular way of accessing hash-of-hashes (HoH) vs bare hardwired derefererences or tree crawling are as follows:
1) As the number of levels in a HoH increases, the tied object asymptotically approaches the speed of hardwired hash dereferencing without the loss of flexibility penalty of having to hardwire the keys into code in advance.
This gives an important property that it gets faster the deeper a HoH becomes as compared with the speed of software driven tree traveral.
So you can build and access arbitrarily structured HoH and still access deeply buried elements in the tree quickly.
2) The format was designed to use memory efficiently. It takes only a few hundred extra bytes over the size of an untied HoH in memory or when serialized (via Data::Dumper or Storable for example) regardless of how deep the hash is.
3) A reference to an existing HoH can be passed into Tie::ListKeyedHash->new and all of the OO key lists access methods will "just work".
Example:
use Tie::ListKeyedHash;
my %hash = ( a => { b => c } );
my $obj = Tie::ListKeyedHash->new(%hash);
my $b_value = $obj->get([a,b]);
Download (0.016MB)
Added: 2007-02-21 License: Perl Artistic License Price:
977 downloads
HTTPClient 0.3-3
HTTPClient provides a complete http client library. more>>
This package provides a complete http client library. It currently implements most of the relevant parts of the HTTP/1.0 and HTTP/1.1 protocols, including the request methods HEAD, GET, POST and PUT, and automatic handling of authorization, redirection requests, and cookies.
Furthermore the included Codecs class contains coders and decoders for the base64, quoted-printable, URL-encoding, chunked and the multipart/form-data encodings. The whole thing is free, and licenced under the GNU Lesser General Public License (LGPL) (note that this is not the same as the GPL).
Following are the kits and documentation for the HTTPClient Version 0.3-3. If you have any problems, bugs, suggestions, comments, etc. see the info on debugging and reporting problems. An older version of these pages are also available in Japanese, thanks to the kindly efforts of Yuji Kumasaka.
Using the HTTPClient should be quite simple. First add the import statement import HTTPClient.*; to your file(s). Next you create an instance of HTTPConnection (youll need one for every server you wish to talk to). Requests can then be sent using one of the methods Head(), Get(), Post(), etc in HTTPConnection.
These methods all return an instance of HTTPResponse which has methods for accessing the response headers (getHeader(), getHeaderAsInt(), etc), various response info (getStatusCode(), getReasonLine(), etc), the response data (getData(), getText(), and getInputStream()) and any trailers that might have been sent (getTrailer(), getTrailerAsInt(), etc). Following are some examples to get started.
To retrieve files from the URL "http://www.myaddr.net/my/file" you can use something like the following:
try
{
HTTPConnection con = new HTTPConnection("www.myaddr.net");
HTTPResponse rsp = con.Get("/my/file");
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
data = rsp.getData();
rsp = con.Get("/another_file");
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
other_data = rsp.getData();
}
catch (IOException ioe)
{
System.err.println(ioe.toString());
}
catch (ParseException pe)
{
System.err.println("Error parsing Content-Type: " + pe.toString());
}
catch (ModuleException me)
{
System.err.println("Error handling request: " + me.getMessage());
}
This will get the files "/my/file" and "/another_file" and put their contents into byte[]s accessible via getData(). Note that you need to only create a new HTTPConnection when sending a request to a new server (different protocol, host or port); although you may create a new HTTPConnection for every request to the same server this not recommended, as various information about the server is cached after the first request (to optimize subsequent requests) and persistent connections are used whenever possible (see also Advanced Info).
To POST form data from an applet back to your server you could use something like this (assuming you have two fields called name and e-mail, whose contents are stored in the variables name and email):
try
{
NVPair form_data[] = new NVPair[2];
form_data[0] = new NVPair("name", name);
form_data[1] = new NVPair("e-mail", email);
// note the convenience constructor for applets
HTTPConnection con = new HTTPConnection(this);
HTTPResponse rsp = con.Post("/cgi-bin/my_script", form_data);
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
stream = rsp.getInputStream();
}
catch (IOException ioe)
{
System.err.println(ioe.toString());
}
catch (ModuleException me)
{
System.err.println("Error handling request: " + me.getMessage());
}
Here the response data is read at leisure via an InputStream instead of all at once into a byte[].
As another example, if you want to upload a document to a URL (and the server supports http PUT) you could do something like the following:
try
{
URL url = new URL("http://www.mydomain.us/test/my_file");
HTTPConnection con = new HTTPConnection(url);
HTTPResponse rsp = con.Put(url.getFile(), "Hello World");
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
text = rsp.getText();
}
catch (IOException ioe)
{
System.err.println(ioe.toString());
}
catch (ModuleException me)
{
System.err.println("Error handling request: " + me.getMessage());
}
<<lessFurthermore the included Codecs class contains coders and decoders for the base64, quoted-printable, URL-encoding, chunked and the multipart/form-data encodings. The whole thing is free, and licenced under the GNU Lesser General Public License (LGPL) (note that this is not the same as the GPL).
Following are the kits and documentation for the HTTPClient Version 0.3-3. If you have any problems, bugs, suggestions, comments, etc. see the info on debugging and reporting problems. An older version of these pages are also available in Japanese, thanks to the kindly efforts of Yuji Kumasaka.
Using the HTTPClient should be quite simple. First add the import statement import HTTPClient.*; to your file(s). Next you create an instance of HTTPConnection (youll need one for every server you wish to talk to). Requests can then be sent using one of the methods Head(), Get(), Post(), etc in HTTPConnection.
These methods all return an instance of HTTPResponse which has methods for accessing the response headers (getHeader(), getHeaderAsInt(), etc), various response info (getStatusCode(), getReasonLine(), etc), the response data (getData(), getText(), and getInputStream()) and any trailers that might have been sent (getTrailer(), getTrailerAsInt(), etc). Following are some examples to get started.
To retrieve files from the URL "http://www.myaddr.net/my/file" you can use something like the following:
try
{
HTTPConnection con = new HTTPConnection("www.myaddr.net");
HTTPResponse rsp = con.Get("/my/file");
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
data = rsp.getData();
rsp = con.Get("/another_file");
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
other_data = rsp.getData();
}
catch (IOException ioe)
{
System.err.println(ioe.toString());
}
catch (ParseException pe)
{
System.err.println("Error parsing Content-Type: " + pe.toString());
}
catch (ModuleException me)
{
System.err.println("Error handling request: " + me.getMessage());
}
This will get the files "/my/file" and "/another_file" and put their contents into byte[]s accessible via getData(). Note that you need to only create a new HTTPConnection when sending a request to a new server (different protocol, host or port); although you may create a new HTTPConnection for every request to the same server this not recommended, as various information about the server is cached after the first request (to optimize subsequent requests) and persistent connections are used whenever possible (see also Advanced Info).
To POST form data from an applet back to your server you could use something like this (assuming you have two fields called name and e-mail, whose contents are stored in the variables name and email):
try
{
NVPair form_data[] = new NVPair[2];
form_data[0] = new NVPair("name", name);
form_data[1] = new NVPair("e-mail", email);
// note the convenience constructor for applets
HTTPConnection con = new HTTPConnection(this);
HTTPResponse rsp = con.Post("/cgi-bin/my_script", form_data);
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
stream = rsp.getInputStream();
}
catch (IOException ioe)
{
System.err.println(ioe.toString());
}
catch (ModuleException me)
{
System.err.println("Error handling request: " + me.getMessage());
}
Here the response data is read at leisure via an InputStream instead of all at once into a byte[].
As another example, if you want to upload a document to a URL (and the server supports http PUT) you could do something like the following:
try
{
URL url = new URL("http://www.mydomain.us/test/my_file");
HTTPConnection con = new HTTPConnection(url);
HTTPResponse rsp = con.Put(url.getFile(), "Hello World");
if (rsp.getStatusCode() >= 300)
{
System.err.println("Received Error: "+rsp.getReasonLine());
System.err.println(rsp.getText());
}
else
text = rsp.getText();
}
catch (IOException ioe)
{
System.err.println(ioe.toString());
}
catch (ModuleException me)
{
System.err.println("Error handling request: " + me.getMessage());
}
Download (0.52MB)
Added: 2005-09-27 License: LGPL (GNU Lesser General Public License) Price:
1491 downloads
XML::Generator::Essex 0.01
XML::Generator::Essex is a Perl module that can generate XML with Essex. more>>
XML::Generator::Essex is a Perl module that can generate XML with Essex.
SYNOPSIS
package My::Generator;
use XML::Generator::Essex;
@ISA = qw( XML::Generator::Essex );
use strict;
sub main { # Called by XML::Generator::Essex->generate().
my $self = shift;
}
## And, to use:
my $g = MY::Generator->new( Handler => $h );
$g->generate( ... );
Provides Essex output primitives like put() and constructors for essex events.
Methods
put
Example Whats emitted
======= ==============
put; ## (whatevers in $_: event, characters, etc)
put "text<<less
SYNOPSIS
package My::Generator;
use XML::Generator::Essex;
@ISA = qw( XML::Generator::Essex );
use strict;
sub main { # Called by XML::Generator::Essex->generate().
my $self = shift;
}
## And, to use:
my $g = MY::Generator->new( Handler => $h );
$g->generate( ... );
Provides Essex output primitives like put() and constructors for essex events.
Methods
put
Example Whats emitted
======= ==============
put; ## (whatevers in $_: event, characters, etc)
put "text<<less
Download (0.042MB)
Added: 2007-07-13 License: Perl Artistic License Price:
833 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 put method 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