relations query 0.93
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1112
Relations::Query 0.93
Relations::Query is a Perl Object for building queries with DBI/DBD::mysql. more>>
Relations::Query is a Perl Object for building queries with DBI/DBD::mysql.
SYNOPSIS
# Relations::Query Script that creates some queries.
use Relations::Query;
$query = new Relations::Query(-select => {fife => barney},
-from => {green_teeth => moogoo},
-where => "flotsam>jetsam",
-group_by => "denali",
-having => {fortune => cookie},
-order_by => [was,is,will],
-limit => 1);
$get_query = $query->get();
$query->set(-select => {clean => sparkle},
-from => {lean => book},
-where => "fighting is between courage and chaos",
-limit => 123);
$set_query = $query->get();
$get_add_query = $query->get_add(-select => {mean => dog},
-where => "running is null",
-having => {kitties=> on_tv},
-limit => [9678]);
$query = to_string({select => this,
from => that});
<<lessSYNOPSIS
# Relations::Query Script that creates some queries.
use Relations::Query;
$query = new Relations::Query(-select => {fife => barney},
-from => {green_teeth => moogoo},
-where => "flotsam>jetsam",
-group_by => "denali",
-having => {fortune => cookie},
-order_by => [was,is,will],
-limit => 1);
$get_query = $query->get();
$query->set(-select => {clean => sparkle},
-from => {lean => book},
-where => "fighting is between courage and chaos",
-limit => 123);
$set_query = $query->get();
$get_add_query = $query->get_add(-select => {mean => dog},
-where => "running is null",
-having => {kitties=> on_tv},
-limit => [9678]);
$query = to_string({select => this,
from => that});
Download (0.010MB)
Added: 2006-09-02 License: Perl Artistic License Price:
1147 downloads
Relations 0.95
Relations is a Perl module with functions to use with databases and queries. more>>
Relations is a Perl module with functions to use with databases and queries.
SYNOPSIS
use Relations;
$as_clause = as_clause({full_name => "concat(f_name, ,l_name)",
{status => "if(married,Married,Single)"})
$query = "select $as_clause from person";
$avoid = to_hash("virustbug","t");
if ($avoid->{bug}) {
print "Avoiding the bug...";
}
unless ($avoid->{code}) {
print "Not avoiding the code...";
}
<<lessSYNOPSIS
use Relations;
$as_clause = as_clause({full_name => "concat(f_name, ,l_name)",
{status => "if(married,Married,Single)"})
$query = "select $as_clause from person";
$avoid = to_hash("virustbug","t");
if ($avoid->{bug}) {
print "Avoiding the bug...";
}
unless ($avoid->{code}) {
print "Not avoiding the code...";
}
Download (0.018MB)
Added: 2007-05-16 License: Perl Artistic License Price:
891 downloads
Relations::Family 0.94
Relations::Family is a DBI/DBD::mysql Relational Query Engine module. more>>
Relations::Family is a DBI/DBD::mysql Relational Query Engine module.
SYNOPSIS
# DBI, Relations::Family Script that creates some queries.
#!/usr/bin/perl
use DBI;
use Relations::Family;
$dsn = "DBI:mysql:finder";
$username = "root";
$password = ;
$dbh = DBI->connect($dsn,$username,$password,{PrintError => 1, RaiseError => 0});
$abstract = new Relations::Abstract($dbh);
$family = new Relations::Family($abstract);
$family->add_member(-name => account,
-label => Cust. Account,
-database => finder,
-table => account,
-id_field => acc_id,
-query => {-select => {id => acc_id,
label => "concat(cust_name, - ,balance)"},
-from => [account,customer],
-where => "customer.cust_id=account.cust_id",
-order_by => "cust_name"});
$family->add_member(-name => customer,
-label => Customer,
-database => finder,
-table => customer,
-id_field => cust_id,
-query => {-select => {id => cust_id,
label => cust_name},
-from => customer,
-order_by => "cust_name"});
$family->add_member(-name => purchase,
-label => Purchase,
-database => finder,
-table => purchase,
-id_field => pur_id,
-query => {-select => {id => pur_id,
label => "concat(
cust_name,
- ,
date_format(date, %M %D, %Y)
)"},
-from => [purchase,
customer],
-where => customer.cust_id=purchase.cust_id,
-order_by => [date desc,
cust_name]});
$family->add_lineage(-parent_name => customer,
-parent_field => cust_id,
-child_name => purchase,
-child_field => cust_id);
$family->add_rivalry(-brother_name => customer,
-brother_field => cust_id,
-sister_name => account,
-sister_field => cust_id);
$family->set_chosen(-label => Customer,
-ids => 2,4);
$available = $family->get_available(-label => Purchase);
print "Found $available->{count} Purchases:n";
foreach $id (@{$available->{ids_array}}) {
print "Id: $id Label: $available->{labels_hash}->{$id}n";
}
$family->add_value(-name => Cust. Account,
-sql => "concat(cust_name, - ,balance)",
-member_names => customer,account);
$family->add_value(-name => Paid,
-sql => "if(balance > 0,NO,YES)",
-member_names => account);
$family->add_value(-name => Customer,
-sql => cust_name,
-member_names => customer);
$family->add_value(-name => Purchase,
-sql => "concat(
cust_name,
- ,
date_format(date, %M %D, %Y)
)",
-member_names => purchase,customer);
$reunion = $family->get_reunion(-data => Paid,Purchase,
-use_labels => Customer,
-order_by => Customer,Purchase);
$matrix = $abstract->select_matrix(-query => $reunion);
print "Found " . scalar @$matrix . " Values:n";
foreach $row (@$matrix) {
print "Customer: $row->{Customer}n";
print "Purchase: $row->{Purchase}n";
print "Paid: $row->{Paid}nn";
}
$dbh->disconnect();
<<lessSYNOPSIS
# DBI, Relations::Family Script that creates some queries.
#!/usr/bin/perl
use DBI;
use Relations::Family;
$dsn = "DBI:mysql:finder";
$username = "root";
$password = ;
$dbh = DBI->connect($dsn,$username,$password,{PrintError => 1, RaiseError => 0});
$abstract = new Relations::Abstract($dbh);
$family = new Relations::Family($abstract);
$family->add_member(-name => account,
-label => Cust. Account,
-database => finder,
-table => account,
-id_field => acc_id,
-query => {-select => {id => acc_id,
label => "concat(cust_name, - ,balance)"},
-from => [account,customer],
-where => "customer.cust_id=account.cust_id",
-order_by => "cust_name"});
$family->add_member(-name => customer,
-label => Customer,
-database => finder,
-table => customer,
-id_field => cust_id,
-query => {-select => {id => cust_id,
label => cust_name},
-from => customer,
-order_by => "cust_name"});
$family->add_member(-name => purchase,
-label => Purchase,
-database => finder,
-table => purchase,
-id_field => pur_id,
-query => {-select => {id => pur_id,
label => "concat(
cust_name,
- ,
date_format(date, %M %D, %Y)
)"},
-from => [purchase,
customer],
-where => customer.cust_id=purchase.cust_id,
-order_by => [date desc,
cust_name]});
$family->add_lineage(-parent_name => customer,
-parent_field => cust_id,
-child_name => purchase,
-child_field => cust_id);
$family->add_rivalry(-brother_name => customer,
-brother_field => cust_id,
-sister_name => account,
-sister_field => cust_id);
$family->set_chosen(-label => Customer,
-ids => 2,4);
$available = $family->get_available(-label => Purchase);
print "Found $available->{count} Purchases:n";
foreach $id (@{$available->{ids_array}}) {
print "Id: $id Label: $available->{labels_hash}->{$id}n";
}
$family->add_value(-name => Cust. Account,
-sql => "concat(cust_name, - ,balance)",
-member_names => customer,account);
$family->add_value(-name => Paid,
-sql => "if(balance > 0,NO,YES)",
-member_names => account);
$family->add_value(-name => Customer,
-sql => cust_name,
-member_names => customer);
$family->add_value(-name => Purchase,
-sql => "concat(
cust_name,
- ,
date_format(date, %M %D, %Y)
)",
-member_names => purchase,customer);
$reunion = $family->get_reunion(-data => Paid,Purchase,
-use_labels => Customer,
-order_by => Customer,Purchase);
$matrix = $abstract->select_matrix(-query => $reunion);
print "Found " . scalar @$matrix . " Values:n";
foreach $row (@$matrix) {
print "Customer: $row->{Customer}n";
print "Purchase: $row->{Purchase}n";
print "Paid: $row->{Paid}nn";
}
$dbh->disconnect();
Download (0.049MB)
Added: 2007-06-08 License: Perl Artistic License Price:
868 downloads
Relations::Display 0.92
Relations::Display is a DBI/DBD::mysql Query Graphing Perl module. more>>
Relations::Display is a DBI/DBD::mysql Query Graphing Perl module.
SYNOPSIS
# DBI, Relations::Display Script that creates a
# matrix, table, and graph from a query.
use DBI;
use Relations;
use Relations::Query;
use Relations::Abstract;
use Relations::Display;
$dsn = "DBI:mysql:watcher";
$username = "root";
$password = ;
$dbh = DBI->connect($dsn,$username,$password,{PrintError => 1, RaiseError => 0});
$abstract = new Relations::Abstract($dbh);
$display = new Relations::Display(-abstract => $abstract,
-query => {-select => {total => "count(*)",
first => "Bird",
second => "Count",
third => "if(gender=Male,Boy,Girl)",
tao => "if(gender=Male,Yang,Yin)",
sex => "gender",
kind => "sp_name",
id => "species.sp_id",
fourth => "(species.sp_id+50)",
vert => "2",
horiz => "1.5"},
-from => [bird,species],
-where => [species.sp_id=bird.sp_id,
species.sp_id < 4],
-group_by => [sp_name,gender,first,second],
-order_by => [gender,sp_name]},
-x_axis => first,kind,id,fourth,
-legend => second,third,tao,sex,vert,horiz,
-y_axis => total,
-hide => fourth,third,vert,horiz,
-vertical => vert,
-horizontal => horiz);
$matrix = $display->get_matrix();
$table = $display->get_table();
$display->set(-chart => bars,
-width => 400,
-height => 400,
-settings => {y_min_value => 0,
y_max_value => 3,
y_tick_number => 3,
transparent => 0}
);
$gph = $display->get_graph();
$gd = $gph->gd();
open(IMG, >test.png) or die $!;
binmode IMG;
print IMG $gd->png;
$dbh->disconnect();
<<lessSYNOPSIS
# DBI, Relations::Display Script that creates a
# matrix, table, and graph from a query.
use DBI;
use Relations;
use Relations::Query;
use Relations::Abstract;
use Relations::Display;
$dsn = "DBI:mysql:watcher";
$username = "root";
$password = ;
$dbh = DBI->connect($dsn,$username,$password,{PrintError => 1, RaiseError => 0});
$abstract = new Relations::Abstract($dbh);
$display = new Relations::Display(-abstract => $abstract,
-query => {-select => {total => "count(*)",
first => "Bird",
second => "Count",
third => "if(gender=Male,Boy,Girl)",
tao => "if(gender=Male,Yang,Yin)",
sex => "gender",
kind => "sp_name",
id => "species.sp_id",
fourth => "(species.sp_id+50)",
vert => "2",
horiz => "1.5"},
-from => [bird,species],
-where => [species.sp_id=bird.sp_id,
species.sp_id < 4],
-group_by => [sp_name,gender,first,second],
-order_by => [gender,sp_name]},
-x_axis => first,kind,id,fourth,
-legend => second,third,tao,sex,vert,horiz,
-y_axis => total,
-hide => fourth,third,vert,horiz,
-vertical => vert,
-horizontal => horiz);
$matrix = $display->get_matrix();
$table = $display->get_table();
$display->set(-chart => bars,
-width => 400,
-height => 400,
-settings => {y_min_value => 0,
y_max_value => 3,
y_tick_number => 3,
transparent => 0}
);
$gph = $display->get_graph();
$gd = $gph->gd();
open(IMG, >test.png) or die $!;
binmode IMG;
print IMG $gd->png;
$dbh->disconnect();
Download (0.024MB)
Added: 2007-06-12 License: Perl Artistic License Price:
865 downloads
Remote MySQL Query 1.0
Remote MySQL Query is a PHP class that can easily execute queries on a remote MySQL server using only HTTP. more>>
Remote MySQL Query is a PHP class that can easily execute queries on a remote MySQL server using only HTTP.
It works by accessing a PHP script on the remote web server that executes queries based on passed in URL parameters.
The client passes a secret key to the remote script to prevent unauthorized access.
The remote script passes back the results to the requesting client using XML to marshal the data.
The class parses the results XML data returned by the server script and returns an array.
It, also, retrieves (into class variables) the number of records returned by the query and the time the query took to execute.
The server script may be used to execute MySQL queries that can be retrieved by programs written in other languages besides PHP.
<<lessIt works by accessing a PHP script on the remote web server that executes queries based on passed in URL parameters.
The client passes a secret key to the remote script to prevent unauthorized access.
The remote script passes back the results to the requesting client using XML to marshal the data.
The class parses the results XML data returned by the server script and returns an array.
It, also, retrieves (into class variables) the number of records returned by the query and the time the query took to execute.
The server script may be used to execute MySQL queries that can be retrieved by programs written in other languages besides PHP.
Download (MB)
Added: 2007-07-23 License: Freely Distributable Price:
828 downloads
cereal emulation framework 0.93.5
cereal emulation framework is an easily-extensible 8051 emulator. more>>
cereal is an emulation framework designed to allow easy emulation of interconnected modules. Its main component is an 8051 emulator module, so it can be used as an 8051 emulator.
The reason for writing cereal was an 8051 embedded controller which should control an engine using pulse-width modulation, read the resulting flow from a flowmeter, and regulate the output to keep flow at a given value.
In the real world, it takes about two seconds for the algorithm to stabilize, and emulating two seconds using conventional emulators (computing the engine input, the real flow, the feedback frequency) by hand is simply impossible to do.
Using cereal, it took about two hours to create a module emulating the engine/flowmeter combination, along with a window showing the current values. Then it is trivial to connect this module to the 8051 module and just sit back and watch the result.
Another, more trivial example is a multiplexed display/keyboard combination (in my case, selecting one of four 8-segment LCD displays). Instead of watching the port bits, why not create a module that shows the output graphically as four displays?
In addition to these possibilities, cereal offers breakpoints, watches, evaluate/modify dialog (which can solve 2 * x + 1 = 5). The KDE GUI also can be extended using KParts (8051 interface is provided as a KParts plugin).
Also included is a command interface usable for creating testsuites for your programs (or for cereal itself - cereal has over 400 tests in its testsuite), and a simple 8051 disassembler.
<<lessThe reason for writing cereal was an 8051 embedded controller which should control an engine using pulse-width modulation, read the resulting flow from a flowmeter, and regulate the output to keep flow at a given value.
In the real world, it takes about two seconds for the algorithm to stabilize, and emulating two seconds using conventional emulators (computing the engine input, the real flow, the feedback frequency) by hand is simply impossible to do.
Using cereal, it took about two hours to create a module emulating the engine/flowmeter combination, along with a window showing the current values. Then it is trivial to connect this module to the 8051 module and just sit back and watch the result.
Another, more trivial example is a multiplexed display/keyboard combination (in my case, selecting one of four 8-segment LCD displays). Instead of watching the port bits, why not create a module that shows the output graphically as four displays?
In addition to these possibilities, cereal offers breakpoints, watches, evaluate/modify dialog (which can solve 2 * x + 1 = 5). The KDE GUI also can be extended using KParts (8051 interface is provided as a KParts plugin).
Also included is a command interface usable for creating testsuites for your programs (or for cereal itself - cereal has over 400 tests in its testsuite), and a simple 8051 disassembler.
Download (0.94MB)
Added: 2005-06-11 License: GPL (GNU General Public License) Price:
1597 downloads
E*Reminders 0.93.RC1
E*Reminders is a web-based reminder software. more>>
E*Reminders is a series of PHP scripts that interact with a MySQL database to setup email reminders for any events or occasions youd like.
It includes recurring reminders, advance notices, and password authentication for email addresses. It can be used for an entire company, as a service for Internet users on your site, or privately.
Enhancements:
- Ive merged david roses release with the last main release of EReminders.
- EReminders now supports htaccess user authentication and all remaining timezone logic is redone and now makes more sense.
- Also, some minor changes along the way.
<<lessIt includes recurring reminders, advance notices, and password authentication for email addresses. It can be used for an entire company, as a service for Internet users on your site, or privately.
Enhancements:
- Ive merged david roses release with the last main release of EReminders.
- EReminders now supports htaccess user authentication and all remaining timezone logic is redone and now makes more sense.
- Also, some minor changes along the way.
Download (0.036MB)
Added: 2006-10-17 License: GPL (GNU General Public License) Price:
1106 downloads
Be::Query 0.1
Be::Query is a Perl module to do a query for a given filesystem. more>>
Be::Query is a Perl module to do a query for a given filesystem.
SYNOPSIS
use Be::Query;
@files = Be::Query::Query($filesystem, $query);
do a Query for a given filesystem
USAGE
@files = Be::Query::Query("/boot", "name=lib*.so");
$filesystem is a path anywhere in the target filesystem; $query is a query construction, of the form attribute op value [connector attribute op value]
Such as (name = fido) || (size >= 500)
<<lessSYNOPSIS
use Be::Query;
@files = Be::Query::Query($filesystem, $query);
do a Query for a given filesystem
USAGE
@files = Be::Query::Query("/boot", "name=lib*.so");
$filesystem is a path anywhere in the target filesystem; $query is a query construction, of the form attribute op value [connector attribute op value]
Such as (name = fido) || (size >= 500)
Download (0.003MB)
Added: 2007-04-12 License: Perl Artistic License Price:
925 downloads
Konverter 0.93
Konverter is an easy to use but powerfull KDE video conversion tool. more>>
Konverter is an easy to use but powerfull KDE video conversion tool. Konverter helps to convert almost every videofile into the most common different videoformats and codecs.
Beside converting, Konverter is also able to scale/crop your videos, change codec details or just changes the audio format of your file.
Also other features like splitting and concat videos, integrated realtime preview are included.
<<lessBeside converting, Konverter is also able to scale/crop your videos, change codec details or just changes the audio format of your file.
Also other features like splitting and concat videos, integrated realtime preview are included.
Download (0.18MB)
Added: 2005-06-24 License: GPL (GNU General Public License) Price:
1588 downloads
Rasqal RDF Query Library 0.9.14
Rasqal is a C library for querying RDF, supporting the RDQL and SPARQL languages. more>>
Rasqal is a C library for querying RDF, supporting the RDQL and SPARQL languages. It provides APIs for creating a query and parsing query syntax.
Rasqal RDF Query Library features pluggable triple-store source and matching interfaces, an engine for executing the queries and an API for manipulating results as bindings.
It uses the Raptor RDF parser to return triples from RDF content and can alternatively work with the Redland RDF librarys persistent triple stores. It is portable across many POSIX systems.
<<lessRasqal RDF Query Library features pluggable triple-store source and matching interfaces, an engine for executing the queries and an API for manipulating results as bindings.
It uses the Raptor RDF parser to return triples from RDF content and can alternatively work with the Redland RDF librarys persistent triple stores. It is portable across many POSIX systems.
Download (0.86MB)
Added: 2007-04-23 License: The Apache License 2.0 Price:
915 downloads
Practical Query Analyzer 1.6
Practical Query Analyzer produces HTML reports on query statistics. more>>
Practical Query Analyzer produces HTML reports on the most frequent queries, slowest queries, queries by type (select/insert/update/delete), and more for both PostgreSQL and MySQL log files.
<<less Download (0.05MB)
Added: 2005-11-28 License: BSD License Price:
1428 downloads
Class::DBI::Query 3.0.15
Class::DBI::Query is a Perl module with deprecated SQL manager for Class::DBI. more>>
Class::DBI::Query is a Perl module with deprecated SQL manager for Class::DBI.
SYNOPSIS
my $sth = Class::DBI::Query
->new({
owner => $class,
sqlname => $type,
essential => @columns,
where_columns => @where_cols,
})
->run($val);
This abstracts away many of the details of the Class::DBI underlying SQL mechanism. For the most part you probably dont want to be interfacing directly with this.
The underlying mechanisms are not yet stable, and are subject to change at any time.
<<lessSYNOPSIS
my $sth = Class::DBI::Query
->new({
owner => $class,
sqlname => $type,
essential => @columns,
where_columns => @where_cols,
})
->run($val);
This abstracts away many of the details of the Class::DBI underlying SQL mechanism. For the most part you probably dont want to be interfacing directly with this.
The underlying mechanisms are not yet stable, and are subject to change at any time.
Download (0.10MB)
Added: 2006-10-14 License: Perl Artistic License Price:
1105 downloads
Jmatrix 0.93
Jmatrix project generates the Matrix the movie eye candy thingy. more>>
Jmatrix project generates the Matrix the movie eye candy thingy.
jmatrix is a cute little non-ncurses green letter matrix-the-movie eye candy thingy.
It has about 20 things that you can configure to create your own matrix experience.
It is not just like the movie, though it could be fooled into being that way.
This project was inspired by Cmatrix (which you can also locate on freashmeat). My computer was just plain too slow to run the ncurses implementation of the matrix green letter thing.
Now... I went to see the movie again, and mine isnt very movie-correct. Neither is Cmatrix. They are both cool though.
In the movie, the letters dont scroll anywhere. They get poped in after a white & goes by... then they fade out. Dull eh?
Jmatrix has some pull_down() effects... and the white heads have a creap_back() method that creates some interesting effects.
Jmatrix is also very configurable. You can change almost everything.
<<lessjmatrix is a cute little non-ncurses green letter matrix-the-movie eye candy thingy.
It has about 20 things that you can configure to create your own matrix experience.
It is not just like the movie, though it could be fooled into being that way.
This project was inspired by Cmatrix (which you can also locate on freashmeat). My computer was just plain too slow to run the ncurses implementation of the matrix green letter thing.
Now... I went to see the movie again, and mine isnt very movie-correct. Neither is Cmatrix. They are both cool though.
In the movie, the letters dont scroll anywhere. They get poped in after a white & goes by... then they fade out. Dull eh?
Jmatrix has some pull_down() effects... and the white heads have a creap_back() method that creates some interesting effects.
Jmatrix is also very configurable. You can change almost everything.
Download (0.010MB)
Added: 2006-11-21 License: GPL (GNU General Public License) Price:
1067 downloads
Net::Server 0.93
Net::Server is an extensible, general Perl server engine. more>>
Net::Server is an extensible, general Perl server engine.
SYNOPSIS
#!/usr/bin/perl -w -T
package MyPackage;
use Net::Server;
@ISA = qw(Net::Server);
sub process_request {
#...code...
}
MyPackage->run(port => 160);
exit;
Main features:
- Single Server Mode
- Inetd Server Mode
- Preforking Simple Mode (PreForkSimple)
- Preforking Managed Mode (PreFork)
- Forking Mode
- Multiplexing Mode using a single process
- Multi port accepts on Single, Preforking, and Forking modes
- Simultaneous accept/recv on tcp, udp, and unix sockets
- Safe signal handling in Fork/PreFork avoids perl signal trouble
- User customizable hooks
- Chroot ability after bind
- Change of user and group after bind
- Basic allow/deny access control
- Customized logging (choose Syslog, log_file, or STDERR)
- HUP able server (clean restarts via sig HUP)
- Dequeue ability in all Fork and PreFork modes.
- Taint clean
- Written in Perl
- Protection against buffer overflow
- Clean process flow
- Extensibility
Net::Server is an extensible, generic Perl server engine. Net::Server combines the good properties from Net::Daemon (0.34), NetServer::Generic (1.03), and Net::FTPServer (1.0), and also from various concepts in the Apache Webserver.
Net::Server attempts to be a generic server as in Net::Daemon and NetServer::Generic. It includes with it the ability to run as an inetd process (Net::Server::INET), a single connection server (Net::Server or Net::Server::Single), a forking server (Net::Server::Fork), a preforking server which maintains a constant number of preforked children (Net::Server::PreForkSimple), or as a managed preforking server which maintains the number of children based on server load (Net::Server::PreFork). In all but the inetd type, the server provides the ability to connect to one or to multiple server ports.
Net::Server uses ideologies of Net::FTPServer in order to provide extensibility. The additional server types are made possible via "personalities" or sub classes of the Net::Server. By moving the multiple types of servers out of the main Net::Server class, the Net::Server concept is easily extended to other types (in the near future, we would like to add a "Thread" personality).
Net::Server borrows several concepts from the Apache Webserver. Net::Server uses "hooks" to allow custom servers such as SMTP, HTTP, POP3, etc. to be layered over the base Net::Server class. In addition the Net::Server::PreFork class borrows concepts of min_start_servers, max_servers, and min_waiting servers.
Net::Server::PreFork also uses the concept of an flock serialized accept when accepting on multiple ports (PreFork can choose between flock, IPC::Semaphore, and pipe to control serialization).
<<lessSYNOPSIS
#!/usr/bin/perl -w -T
package MyPackage;
use Net::Server;
@ISA = qw(Net::Server);
sub process_request {
#...code...
}
MyPackage->run(port => 160);
exit;
Main features:
- Single Server Mode
- Inetd Server Mode
- Preforking Simple Mode (PreForkSimple)
- Preforking Managed Mode (PreFork)
- Forking Mode
- Multiplexing Mode using a single process
- Multi port accepts on Single, Preforking, and Forking modes
- Simultaneous accept/recv on tcp, udp, and unix sockets
- Safe signal handling in Fork/PreFork avoids perl signal trouble
- User customizable hooks
- Chroot ability after bind
- Change of user and group after bind
- Basic allow/deny access control
- Customized logging (choose Syslog, log_file, or STDERR)
- HUP able server (clean restarts via sig HUP)
- Dequeue ability in all Fork and PreFork modes.
- Taint clean
- Written in Perl
- Protection against buffer overflow
- Clean process flow
- Extensibility
Net::Server is an extensible, generic Perl server engine. Net::Server combines the good properties from Net::Daemon (0.34), NetServer::Generic (1.03), and Net::FTPServer (1.0), and also from various concepts in the Apache Webserver.
Net::Server attempts to be a generic server as in Net::Daemon and NetServer::Generic. It includes with it the ability to run as an inetd process (Net::Server::INET), a single connection server (Net::Server or Net::Server::Single), a forking server (Net::Server::Fork), a preforking server which maintains a constant number of preforked children (Net::Server::PreForkSimple), or as a managed preforking server which maintains the number of children based on server load (Net::Server::PreFork). In all but the inetd type, the server provides the ability to connect to one or to multiple server ports.
Net::Server uses ideologies of Net::FTPServer in order to provide extensibility. The additional server types are made possible via "personalities" or sub classes of the Net::Server. By moving the multiple types of servers out of the main Net::Server class, the Net::Server concept is easily extended to other types (in the near future, we would like to add a "Thread" personality).
Net::Server borrows several concepts from the Apache Webserver. Net::Server uses "hooks" to allow custom servers such as SMTP, HTTP, POP3, etc. to be layered over the base Net::Server class. In addition the Net::Server::PreFork class borrows concepts of min_start_servers, max_servers, and min_waiting servers.
Net::Server::PreFork also uses the concept of an flock serialized accept when accepting on multiple ports (PreFork can choose between flock, IPC::Semaphore, and pipe to control serialization).
Download (0.080MB)
Added: 2006-06-27 License: Perl Artistic License Price:
1219 downloads
morigin email classifier 0.93
morigin email classifier is a filter that classifies and tags email messages. more>>
morigin email classifier is a filter that classifies and tags email messages based on the DNS information of the system submitting the mail to your organization.
morigin email classifier can then be used to improve upon existing spam filters such as SpamAssassin.
<<lessmorigin email classifier can then be used to improve upon existing spam filters such as SpamAssassin.
Download (0.088MB)
Added: 2005-11-25 License: GPL (GNU General Public License) Price:
1428 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 relations query 0.93 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