imaptalk 1.03
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 90
Mail::IMAPTalk 1.03
Mail::IMAPTalk is an IMAP client interface with lots of features. more>>
Mail::IMAPTalk is an IMAP client interface with lots of features.
SYNOPSIS
use Mail::IMAPTalk;
$IMAP = Mail::IMAPTalk->new(
Server => $IMAPServer,
Username => foo,
Password => bar,
Uid => 1 )
|| die "Failed to connect/login to IMAP server";
# Append message to folder
open(my $F, rfc822msg.txt);
$IMAP->append($FolderName, $F) || dir $@;
close($F);
# Select folder and get first unseen message
$IMAP->select($FolderName) || die $@;
$MsgId = $IMAP->search(not, seen)->[0];
# Get message envelope and print some details
$MsgEV = $IMAP->fetch($MsgId, envelope)->{$MsgId}->{envelope};
print "From: " . $MsgEv->{From};
print "To: " . $MsgEv->{To};
print "Subject: " . $MsgEv->{Subject};
# Get message body structure
$MsgBS = $IMAP->fetch($MsgId, bodystructure)->{$MsgId}->{bodystructure};
# Find imap part number of text part of message
$MsgTxtHash = Mail::IMAPTalk::find_message($MsgBS);
$MsgPart = $MsgTxtHash->{plain}->{IMAP-Partnum};
# Retrieve message text body
$MsgTxt = $IMAP->fetch($MsgId, "body[$MsgPart]")->{$MsgId}->{body};
$IMAP->logout();
This module communicates with an IMAP server. Each IMAP server command is mapped to a method of this object.
Although other IMAP modules exist on CPAN, this has several advantages over other modules.
It parses the more complex IMAP structures like envelopes and body structures into nice Perl data structures.
It correctly supports atoms, quoted strings and literals at any point. Some parsers in other modules arent fully IMAP compatiable and may break at odd times with certain messages on some servers.
It allows large return values (eg. attachments on a message) to be read directly into a file, rather than into memory.
It includes some helper functions to find the actual text/plain or text/html part of a message out of a complex MIME structure. It also can find a list of attachements, and CID links for HTML messages with attached images.
It supports decoding of MIME headers to Perl utf-8 strings automatically, so you dont have to deal with MIME encoded headers (enabled optionally).
While the IMAP protocol does allow for asynchronous running of commands, this module is designed to be used in a synchronous manner. That is, you issue a command by calling a method, and the command will block until the appropriate response is returned. The method will then return the parsed results from the given command.
<<lessSYNOPSIS
use Mail::IMAPTalk;
$IMAP = Mail::IMAPTalk->new(
Server => $IMAPServer,
Username => foo,
Password => bar,
Uid => 1 )
|| die "Failed to connect/login to IMAP server";
# Append message to folder
open(my $F, rfc822msg.txt);
$IMAP->append($FolderName, $F) || dir $@;
close($F);
# Select folder and get first unseen message
$IMAP->select($FolderName) || die $@;
$MsgId = $IMAP->search(not, seen)->[0];
# Get message envelope and print some details
$MsgEV = $IMAP->fetch($MsgId, envelope)->{$MsgId}->{envelope};
print "From: " . $MsgEv->{From};
print "To: " . $MsgEv->{To};
print "Subject: " . $MsgEv->{Subject};
# Get message body structure
$MsgBS = $IMAP->fetch($MsgId, bodystructure)->{$MsgId}->{bodystructure};
# Find imap part number of text part of message
$MsgTxtHash = Mail::IMAPTalk::find_message($MsgBS);
$MsgPart = $MsgTxtHash->{plain}->{IMAP-Partnum};
# Retrieve message text body
$MsgTxt = $IMAP->fetch($MsgId, "body[$MsgPart]")->{$MsgId}->{body};
$IMAP->logout();
This module communicates with an IMAP server. Each IMAP server command is mapped to a method of this object.
Although other IMAP modules exist on CPAN, this has several advantages over other modules.
It parses the more complex IMAP structures like envelopes and body structures into nice Perl data structures.
It correctly supports atoms, quoted strings and literals at any point. Some parsers in other modules arent fully IMAP compatiable and may break at odd times with certain messages on some servers.
It allows large return values (eg. attachments on a message) to be read directly into a file, rather than into memory.
It includes some helper functions to find the actual text/plain or text/html part of a message out of a complex MIME structure. It also can find a list of attachements, and CID links for HTML messages with attached images.
It supports decoding of MIME headers to Perl utf-8 strings automatically, so you dont have to deal with MIME encoded headers (enabled optionally).
While the IMAP protocol does allow for asynchronous running of commands, this module is designed to be used in a synchronous manner. That is, you issue a command by calling a method, and the command will block until the appropriate response is returned. The method will then return the parsed results from the given command.
Download (0.030MB)
Added: 2007-07-18 License: Perl Artistic License Price:
829 downloads
AntTweakBar 1.03
AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic programs. more>>
AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic programs to interactively tweak them. AntTweakBar is a small and easy to use library that can be readily integrated into OpenGL and DirectX applications.
Program variables can be linked to a graphical control that allows users to modify them. Thus, parameters exposed by programmers can be easily modified. They are displayed into the graphical application through one or more embeded windows called tweak bars.
Design and integration:
The library is designed to minimize programmer work while offering a fast, clean, intuitive and non-invasive graphical interface. For instance, numerical values are automatically mapped to a RotoSlider control for rapid editing.
It is composed of few functions. Common variables like booleans, integers, floats and enums can be directly mapped to a graphic control through pointers or callback functions. Additionnal editing informations like min and max values can be provided. Keyboard shortcuts can also be associated to controls and an help window which summurizes these shortcuts can be displayed. Programmers are not required to design the graphical interface by providing coordinates or by using a visual UI editor. Controls are automatically organized following an optional given hierarchy. In most cases, only one line of code is needed to add a new variable to a tweak bar.
The AntTweakBar library mainly targets graphical programs that need an easy way to tweak parameters and see the result in real-time like 3D demos, light inline game editors, small 3D applications, prototypes, debug facilities of weighter graphical programs, etc.
While the library itself is written in C++, its programming interface is a C interface, and then it can be directly integrated in any C++ or C program.
It has been designed with performance in mind. Embeded in a typical 3D application, its rendering time is almost insignificant. Bars can also be iconified to fully minimize their rendering time.
Enhancements:
- The medium font is antialiased.
- The code now compiles on 64-bit x86 platforms.
- A problem which occurred if the library was initialized or uninitialized more than once was fixed.
- Some other minor fixes were done.
<<lessProgram variables can be linked to a graphical control that allows users to modify them. Thus, parameters exposed by programmers can be easily modified. They are displayed into the graphical application through one or more embeded windows called tweak bars.
Design and integration:
The library is designed to minimize programmer work while offering a fast, clean, intuitive and non-invasive graphical interface. For instance, numerical values are automatically mapped to a RotoSlider control for rapid editing.
It is composed of few functions. Common variables like booleans, integers, floats and enums can be directly mapped to a graphic control through pointers or callback functions. Additionnal editing informations like min and max values can be provided. Keyboard shortcuts can also be associated to controls and an help window which summurizes these shortcuts can be displayed. Programmers are not required to design the graphical interface by providing coordinates or by using a visual UI editor. Controls are automatically organized following an optional given hierarchy. In most cases, only one line of code is needed to add a new variable to a tweak bar.
The AntTweakBar library mainly targets graphical programs that need an easy way to tweak parameters and see the result in real-time like 3D demos, light inline game editors, small 3D applications, prototypes, debug facilities of weighter graphical programs, etc.
While the library itself is written in C++, its programming interface is a C interface, and then it can be directly integrated in any C++ or C program.
It has been designed with performance in mind. Embeded in a typical 3D application, its rendering time is almost insignificant. Bars can also be iconified to fully minimize their rendering time.
Enhancements:
- The medium font is antialiased.
- The code now compiles on 64-bit x86 platforms.
- A problem which occurred if the library was initialized or uninitialized more than once was fixed.
- Some other minor fixes were done.
Download (0.87MB)
Added: 2006-10-30 License: zlib/libpng License Price:
1089 downloads
PIX::Walker 1.03
PIX::Walker is a Perl module to process Cisco PIX configs and walk access-lists. more>>
PIX::Walker is a Perl module to process Cisco PIX configs and walk access-lists.
SYNOPSIS
PIX::Walker is an object that allows you to process PIX firewall configs and walk an access-list for matches. PIX OS versions 6 and 7 are supported.
** This module is still in very early development **
Loose ACL matching performed. This means that you can specify as little as a source IP to match what line(s) that IP would match in the ACL on the firewall. Or you can provide every detail including source/dest IPs, ports, and protocol to match a specific line of an ACL. Loose matching allows you to see potential lines in a large ruleset that a single source or destination IP might match.
More than just the first line match can be returned. If your search criteria can technically match multiple lines they will all be returned. This is useful for seeing extra matches in your ACL that might also match and can help you optimize your ACL.
EXAMPLE
use PIX::Walker;
my $config = ... string of full firewall config ... ;
my $fw = new PIX::Walker($config);
my $acl = $fw->acl(outside_access) || die("ACL does not exist");
my $matched = 0;
foreach my $line ($acl->lines) {
if ($line->match(
source => 10.0.1.100,
dest => 192.168.1.3,
port => 80,
protocol => tcp)) {
print "Matched ACL $acl->name ($acl->elements ACE)n" if !$matched++;
print $line->print, "n";
}
}
METHODS
acl($name)
Returns an PIX::Accesslist object for the ACL named by $name.
acls()
Returns an array of PIX::Accesslist objects for each access-list found in the firewall configuration. Returns undef if there is no matching ACL.
alias($string)
Returns the IP of the alias given in $alias. If no alias is found than the string is returned unchanged.
findip($ip, [$trace])
Matches the IP to an existing network-group. Does not validate it within any ACL. If a single group is matched a scalar is returned with the name, otherwise an array reference is returned containing all matches.
* $ip is an IP address to look for.
* $trace is an optional reference to a trace buffer. If an IP is found in a nested group the trace will allow you to find out where it was nested. See tracedump() for more information.
findport($port, [$trace])
Matches the PORT to an existing service-group. Does not validate it within any ACL. If a single group is matched a scalar is returned with the name, otherwise an array reference is returned containing all matches.
* $port is the PORT to look for.
* $trace is an optional reference to a trace buffer. If a PORT is found in a nested group the trace will allow you to find out where it was nested. See tracedump() for more information.
obj($name)
Returns an PIX::Object object for the object-group that matches the $name given.
tracedump($trace)
Prints out the trace dump given. This will allow you to see where IPs and PORTs are being matched within their object-groups even if they are nested.
$matched = $fw->findip($ip, $trace);
$fw->tracedump($trace);
<<lessSYNOPSIS
PIX::Walker is an object that allows you to process PIX firewall configs and walk an access-list for matches. PIX OS versions 6 and 7 are supported.
** This module is still in very early development **
Loose ACL matching performed. This means that you can specify as little as a source IP to match what line(s) that IP would match in the ACL on the firewall. Or you can provide every detail including source/dest IPs, ports, and protocol to match a specific line of an ACL. Loose matching allows you to see potential lines in a large ruleset that a single source or destination IP might match.
More than just the first line match can be returned. If your search criteria can technically match multiple lines they will all be returned. This is useful for seeing extra matches in your ACL that might also match and can help you optimize your ACL.
EXAMPLE
use PIX::Walker;
my $config = ... string of full firewall config ... ;
my $fw = new PIX::Walker($config);
my $acl = $fw->acl(outside_access) || die("ACL does not exist");
my $matched = 0;
foreach my $line ($acl->lines) {
if ($line->match(
source => 10.0.1.100,
dest => 192.168.1.3,
port => 80,
protocol => tcp)) {
print "Matched ACL $acl->name ($acl->elements ACE)n" if !$matched++;
print $line->print, "n";
}
}
METHODS
acl($name)
Returns an PIX::Accesslist object for the ACL named by $name.
acls()
Returns an array of PIX::Accesslist objects for each access-list found in the firewall configuration. Returns undef if there is no matching ACL.
alias($string)
Returns the IP of the alias given in $alias. If no alias is found than the string is returned unchanged.
findip($ip, [$trace])
Matches the IP to an existing network-group. Does not validate it within any ACL. If a single group is matched a scalar is returned with the name, otherwise an array reference is returned containing all matches.
* $ip is an IP address to look for.
* $trace is an optional reference to a trace buffer. If an IP is found in a nested group the trace will allow you to find out where it was nested. See tracedump() for more information.
findport($port, [$trace])
Matches the PORT to an existing service-group. Does not validate it within any ACL. If a single group is matched a scalar is returned with the name, otherwise an array reference is returned containing all matches.
* $port is the PORT to look for.
* $trace is an optional reference to a trace buffer. If a PORT is found in a nested group the trace will allow you to find out where it was nested. See tracedump() for more information.
obj($name)
Returns an PIX::Object object for the object-group that matches the $name given.
tracedump($trace)
Prints out the trace dump given. This will allow you to see where IPs and PORTs are being matched within their object-groups even if they are nested.
$matched = $fw->findip($ip, $trace);
$fw->tracedump($trace);
Download (0.013MB)
Added: 2007-05-12 License: Perl Artistic License Price:
896 downloads
Data::CTable 1.03
Data::CTable is a Perl module that helps you read, write, manipulate tabular data. more>>
Data::CTable is a Perl module that helps you read, write, manipulate tabular data.
SYNOPSIS
## Read some data files in various tabular formats
use Data::CTable;
my $People = Data::CTable->new("people.merge.mac.txt");
my $Stats = Data::CTable->new("stats.tabs.unix.txt");
## Clean stray whitespace in fields
$People->clean_ws();
$Stats ->clean_ws();
## Retrieve columns
my $First = $People->col(FirstName);
my $Last = $People->col(LastName );
## Calculate a new column based on two others
my $Full = [map {"$First->[$_] $Last->[$_]"} @{$People->all()}];
## Add new column to the table
$People->col(FullName => $Full);
## Another way to calculate a new column
$People->col(Key);
$People->calc(sub {no strict vars; $Key = "$Last,$First";});
## "Left join" records matching Stats:PersonID to People:Key
$Stats->join($People, PersonID => Key);
## Find certain records
$Stats->select_all();
$Stats->select(Department => sub {/Sale/i }); ## Sales depts
$Stats->omit (Department => sub {/Resale/i}); ## not Resales
$Stats->select(UsageIndex => sub {$_ > 20.0}); ## high usage
## Sort the found records
$Stats->sortspec(DeptNum , {SortType => Integer});
$Stats->sortspec(UsageIndex, {SortType => Number });
$Stats->sort([qw(DeptNum UsageIndex Last First)]);
## Make copy of table with only found/sorted data, in order
my $Report = $Stats->snapshot();
## Write an output file
$Report->write(_FileName => "Rept.txt", _LineEnding => "mac");
## Print a final progress message.
$Stats->progress("Done!");
## Dozens more methods and parameters available...
OVERVIEW
Data::CTable is a comprehensive utility for reading, writing, manipulating, cleaning and otherwise transforming tabular data. The distribution includes several illustrative subclasses and utility scripts.
A Columnar Table represents a table as a hash of data columns, making it easy to do data cleanup, formatting, searching, calculations, joins, or other complex operations.
The objects hash keys are the field names and the hash values hold the data columns (as array references).
Tables also store a "selection" -- a list of selected / sorted record numbers, and a "field list" -- an ordered list of all or some fields to be operated on. Select() and sort() methods manipulate the selection list. Later, you can optionally rewrite the table in memory or on disk to reflect changes in the selection list or field list.
Data::CTable reads and writes any tabular text file format including Merge, CSV, Tab-delimited, and variants. It transparently detects, reads, and preserves Unix, Mac, and/or DOS line endings and tab or comma field delimiters -- regardless of the runtime platform.
In addition to reading data files, CTable is a good way to gather, store, and operate on tabular data in memory, and to export data to delimited text files to be read by other programs or interactive productivity applications.
To achieve extremely fast data loading, CTable caches data file contents using the Storable module. This can be helpful in CGI environments or when operating on very large data files. CTable can read an entire cached table of about 120 megabytes into memory in about 10 seconds on an average mid-range computer.
For simple data-driven applications needing to store and quickly retrieve simple tabular data sets, CTable provides a credible alternative to DBM files or SQL.
For data hygiene applications, CTable forms the foundation for writing utility scripts or compilers to transfer data from external sources, such as FileMaker, Excel, Access, personal organizers, etc. into compiled or validated formats -- or even as a gateway to loading data into SQL databases or other destinations. You can easily write short, repeatable scripts in Perl to do reporting, error checking, analysis, or validation that would be hard to duplicate in less-flexible application environments.
The data representation is simple and open so you can directly access the data in the object if you feel like it -- or you can use accessors to request "clean" structures containing only the data or copies of it. Or you can build your own columns in memory and then when youre ready, turn them into a table object using the very flexible new() method.
The highly factored interface and implementation allow fine-grained subclassing so you can easily create useful lightweight subclasses. Several subclasses are included with the distribution.
Most defaults and parameters can be customized by subclassing, overridden at the instance level (avoiding the need to subclass too often), and further overridden via optional named-parameter arguments to most major method calls.
<<lessSYNOPSIS
## Read some data files in various tabular formats
use Data::CTable;
my $People = Data::CTable->new("people.merge.mac.txt");
my $Stats = Data::CTable->new("stats.tabs.unix.txt");
## Clean stray whitespace in fields
$People->clean_ws();
$Stats ->clean_ws();
## Retrieve columns
my $First = $People->col(FirstName);
my $Last = $People->col(LastName );
## Calculate a new column based on two others
my $Full = [map {"$First->[$_] $Last->[$_]"} @{$People->all()}];
## Add new column to the table
$People->col(FullName => $Full);
## Another way to calculate a new column
$People->col(Key);
$People->calc(sub {no strict vars; $Key = "$Last,$First";});
## "Left join" records matching Stats:PersonID to People:Key
$Stats->join($People, PersonID => Key);
## Find certain records
$Stats->select_all();
$Stats->select(Department => sub {/Sale/i }); ## Sales depts
$Stats->omit (Department => sub {/Resale/i}); ## not Resales
$Stats->select(UsageIndex => sub {$_ > 20.0}); ## high usage
## Sort the found records
$Stats->sortspec(DeptNum , {SortType => Integer});
$Stats->sortspec(UsageIndex, {SortType => Number });
$Stats->sort([qw(DeptNum UsageIndex Last First)]);
## Make copy of table with only found/sorted data, in order
my $Report = $Stats->snapshot();
## Write an output file
$Report->write(_FileName => "Rept.txt", _LineEnding => "mac");
## Print a final progress message.
$Stats->progress("Done!");
## Dozens more methods and parameters available...
OVERVIEW
Data::CTable is a comprehensive utility for reading, writing, manipulating, cleaning and otherwise transforming tabular data. The distribution includes several illustrative subclasses and utility scripts.
A Columnar Table represents a table as a hash of data columns, making it easy to do data cleanup, formatting, searching, calculations, joins, or other complex operations.
The objects hash keys are the field names and the hash values hold the data columns (as array references).
Tables also store a "selection" -- a list of selected / sorted record numbers, and a "field list" -- an ordered list of all or some fields to be operated on. Select() and sort() methods manipulate the selection list. Later, you can optionally rewrite the table in memory or on disk to reflect changes in the selection list or field list.
Data::CTable reads and writes any tabular text file format including Merge, CSV, Tab-delimited, and variants. It transparently detects, reads, and preserves Unix, Mac, and/or DOS line endings and tab or comma field delimiters -- regardless of the runtime platform.
In addition to reading data files, CTable is a good way to gather, store, and operate on tabular data in memory, and to export data to delimited text files to be read by other programs or interactive productivity applications.
To achieve extremely fast data loading, CTable caches data file contents using the Storable module. This can be helpful in CGI environments or when operating on very large data files. CTable can read an entire cached table of about 120 megabytes into memory in about 10 seconds on an average mid-range computer.
For simple data-driven applications needing to store and quickly retrieve simple tabular data sets, CTable provides a credible alternative to DBM files or SQL.
For data hygiene applications, CTable forms the foundation for writing utility scripts or compilers to transfer data from external sources, such as FileMaker, Excel, Access, personal organizers, etc. into compiled or validated formats -- or even as a gateway to loading data into SQL databases or other destinations. You can easily write short, repeatable scripts in Perl to do reporting, error checking, analysis, or validation that would be hard to duplicate in less-flexible application environments.
The data representation is simple and open so you can directly access the data in the object if you feel like it -- or you can use accessors to request "clean" structures containing only the data or copies of it. Or you can build your own columns in memory and then when youre ready, turn them into a table object using the very flexible new() method.
The highly factored interface and implementation allow fine-grained subclassing so you can easily create useful lightweight subclasses. Several subclasses are included with the distribution.
Most defaults and parameters can be customized by subclassing, overridden at the instance level (avoiding the need to subclass too often), and further overridden via optional named-parameter arguments to most major method calls.
Download (0.15MB)
Added: 2007-07-13 License: Perl Artistic License Price:
833 downloads
PHP Timeclock 1.03
PHP Timeclock is a simple yet effective web-based timeclock system. more>>
PHP Timeclock is a simple yet effective web-based timeclock system. It allows you to track all employee time as well as upcoming vacations and more, and it can replace manual sign-in/sign-out sheets.
An administration piece is included which allows an administrator to add or delete users, change a users time or password (if using passwords is enabled), and hide the reports from your users where only an admin or a reports user has access to them. These reports can be run to show daily activitiy or for a range of dates, and can be run for all users, or individually for each user.
This product is distributed under the GPL. This program is free software; you can redistribute it and/or modify it under the terms of the GNU GeneralPublic License version 2, as published by the Free Software Foundation.
<<lessAn administration piece is included which allows an administrator to add or delete users, change a users time or password (if using passwords is enabled), and hide the reports from your users where only an admin or a reports user has access to them. These reports can be run to show daily activitiy or for a range of dates, and can be run for all users, or individually for each user.
This product is distributed under the GPL. This program is free software; you can redistribute it and/or modify it under the terms of the GNU GeneralPublic License version 2, as published by the Free Software Foundation.
Download (0.18MB)
Added: 2006-06-20 License: GPL (GNU General Public License) Price:
1227 downloads
htpasstool 1.03
htpasstool is a web-based management tool for Apache .htpasswd files. more>>
htpasstool is a web-based management tool for Apache .htpasswd files.
Its small (just 1 php file), free as in freedom (released under the GPL) and straightforward to use.
It can protect/unprotect directories in your webspace, add users, rename users, remove users, and change passwords in the .htpasswd file. All through a friendly, simple web interface. And it is trivial to install.
Enhancements:
- This release fixes a small bug in the assignpasswordform function.
<<lessIts small (just 1 php file), free as in freedom (released under the GPL) and straightforward to use.
It can protect/unprotect directories in your webspace, add users, rename users, remove users, and change passwords in the .htpasswd file. All through a friendly, simple web interface. And it is trivial to install.
Enhancements:
- This release fixes a small bug in the assignpasswordform function.
Download (0.015MB)
Added: 2007-01-20 License: GPL (GNU General Public License) Price:
1010 downloads
IOG 1.03
IOG is a network I/O byte grapher made to track KB/MB/GB totals for hours, days, and months. more>>
IOG is a network I/O byte grapher made to track KB/MB/GB totals for hours, days, and months. The project is intended to be simple and fast (to support thousands of hosts), and to integrate well with MRTG.
Data for each host is updated hourly and HTML graphs are created. It uses a data consolidation algorithm which allows for a small, non-growing database file for each host.
Enhancements:
- Fixed bug which causes router/switch reboots to potentially cause large negative values for that particular hour.
<<lessData for each host is updated hourly and HTML graphs are created. It uses a data consolidation algorithm which allows for a small, non-growing database file for each host.
Enhancements:
- Fixed bug which causes router/switch reboots to potentially cause large negative values for that particular hour.
Download (0.034MB)
Added: 2007-07-03 License: Artistic License Price:
843 downloads
RiveScript 1.03
RiveScript is a Perl module that allows you to rendering intelligence very easily. more>>
RiveScript is a Perl module that allows you to rendering intelligence very easily.
SYNOPSIS
use RiveScript;
# Create a new RiveScript interpreter.
my $rs = new RiveScript;
# Load some replies.
$rs->loadDirectory ("./replies");
# Load in another file.
$rs->loadFile ("./more_replies.rs");
# Stream in even more RiveScript code.
$rs->stream (q~! global split_sentences = 1~);
# Sort all the loaded replies.
$rs->sortReplies;
# Grab a response.
my @reply = $rs->reply (localscript, Hello RiveScript!);
print join ("n", @reply), "n";
RiveScript is a simple input/response language. It has a simple, easy-to-learn syntax, yet it is more powerful even than Dr. Wallaces AIML (Artificial Intelligence Markup Language). RiveScript was created as a reply language for chatterbots, but it has been used for more complex things above and beyond that.
<<lessSYNOPSIS
use RiveScript;
# Create a new RiveScript interpreter.
my $rs = new RiveScript;
# Load some replies.
$rs->loadDirectory ("./replies");
# Load in another file.
$rs->loadFile ("./more_replies.rs");
# Stream in even more RiveScript code.
$rs->stream (q~! global split_sentences = 1~);
# Sort all the loaded replies.
$rs->sortReplies;
# Grab a response.
my @reply = $rs->reply (localscript, Hello RiveScript!);
print join ("n", @reply), "n";
RiveScript is a simple input/response language. It has a simple, easy-to-learn syntax, yet it is more powerful even than Dr. Wallaces AIML (Artificial Intelligence Markup Language). RiveScript was created as a reply language for chatterbots, but it has been used for more complex things above and beyond that.
Download (0.20MB)
Added: 2007-05-10 License: Perl Artistic License Price:
897 downloads
mod-apache-snmp 1.03
Apache SNMP Module allows you to monitor different configuration and status values of the Apache Web server using SNMP. more>>
Apache SNMP Module allows you to monitor different configuration and status values of the Apache Web server using SNMP.
Enhancements:
- Bugfixes, the inclusion of MRTG scripts, and changes to make the module work on the IBM HTTP Server.
<<lessEnhancements:
- Bugfixes, the inclusion of MRTG scripts, and changes to make the module work on the IBM HTTP Server.
Download (0.032MB)
Added: 2005-08-23 License: GPL (GNU General Public License) Price:
1533 downloads
edanator 1.03
edanator is an intuitive graphical binary and hex calculator. more>>
edanator is an intuitive graphical binary and hex calculator. Each nibble is displayed in hex and binary. Clicking on the button (hex nibble or binary bit) changes the value. Bit and nibble shifting is supported via dedicated buttons. The project supports variable widths per word (up to 64- bits), three words (each on a different row), and mathematical operations between words.
Enhancements:
- An endian-ness button for swapping bit labels was added along with a bit reverse function.
<<lessEnhancements:
- An endian-ness button for swapping bit labels was added along with a bit reverse function.
Download (0.007MB)
Added: 2007-03-27 License: LGPL (GNU Lesser General Public License) Price:
944 downloads
Readonly 1.03
Readonly is a Perl module that offers the facility for creating read-only scalars, arrays, hashes. more>>
Readonly is a Perl module that offers the facility for creating read-only scalars, arrays, hashes.
SYNOPSIS
use Readonly;
# Read-only scalar
Readonly::Scalar $sca => $initial_value;
Readonly::Scalar my $sca => $initial_value;
# Read-only array
Readonly::Array @arr => @values;
Readonly::Array my @arr => @values;
# Read-only hash
Readonly::Hash %has => (key => value, key => value, ...);
Readonly::Hash my %has => (key => value, key => value, ...);
# or:
Readonly::Hash %has => {key => value, key => value, ...};
# You can use the read-only variables like any regular variables:
print $sca;
$something = $sca + $arr[2];
next if $has{$some_key};
# But if you try to modify a value, your program will die:
$sca = 7;
push @arr, seven;
delete $has{key};
# The error message is "Modification of a read-only value
attempted"
# Alternate form (Perl 5.8 and later)
Readonly $sca => $initial_value;
Readonly my $sca => $initial_value;
Readonly @arr => @values;
Readonly my @arr => @values;
Readonly %has => (key => value, key => value, ...);
Readonly my %has => (key => value, key => value, ...);
# Alternate form (for Perls earlier than v5.8)
Readonly $sca => $initial_value;
Readonly my $sca => $initial_value;
Readonly @arr => @values;
Readonly my @arr => @values;
Readonly %has => (key => value, key => value, ...);
Readonly my %has => (key => value, key => value, ...);
This is a facility for creating non-modifiable variables. This is useful for configuration files, headers, etc. It can also be useful as a development and debugging tool, for catching updates to variables that should not be changed.
If any of the values you pass to Scalar, Array, or Hash are references, then those functions recurse over the data structures, marking everything as Readonly. Usually, this is what you want: the entire structure nonmodifiable. If you want only the top level to be Readonly, use the alternate Scalar1, Array1 and Hash1 functions.
Please note that most users of Readonly will also want to install a companion module Readonly::XS. See the "CONS" section below for more details.
<<lessSYNOPSIS
use Readonly;
# Read-only scalar
Readonly::Scalar $sca => $initial_value;
Readonly::Scalar my $sca => $initial_value;
# Read-only array
Readonly::Array @arr => @values;
Readonly::Array my @arr => @values;
# Read-only hash
Readonly::Hash %has => (key => value, key => value, ...);
Readonly::Hash my %has => (key => value, key => value, ...);
# or:
Readonly::Hash %has => {key => value, key => value, ...};
# You can use the read-only variables like any regular variables:
print $sca;
$something = $sca + $arr[2];
next if $has{$some_key};
# But if you try to modify a value, your program will die:
$sca = 7;
push @arr, seven;
delete $has{key};
# The error message is "Modification of a read-only value
attempted"
# Alternate form (Perl 5.8 and later)
Readonly $sca => $initial_value;
Readonly my $sca => $initial_value;
Readonly @arr => @values;
Readonly my @arr => @values;
Readonly %has => (key => value, key => value, ...);
Readonly my %has => (key => value, key => value, ...);
# Alternate form (for Perls earlier than v5.8)
Readonly $sca => $initial_value;
Readonly my $sca => $initial_value;
Readonly @arr => @values;
Readonly my @arr => @values;
Readonly %has => (key => value, key => value, ...);
Readonly my %has => (key => value, key => value, ...);
This is a facility for creating non-modifiable variables. This is useful for configuration files, headers, etc. It can also be useful as a development and debugging tool, for catching updates to variables that should not be changed.
If any of the values you pass to Scalar, Array, or Hash are references, then those functions recurse over the data structures, marking everything as Readonly. Usually, this is what you want: the entire structure nonmodifiable. If you want only the top level to be Readonly, use the alternate Scalar1, Array1 and Hash1 functions.
Please note that most users of Readonly will also want to install a companion module Readonly::XS. See the "CONS" section below for more details.
Download (0.013MB)
Added: 2007-05-21 License: Perl Artistic License Price:
886 downloads
as_propsheet 1.03
as_propsheet can be used to create Web based user interfaces for configuring sets of properties. more>>
as_propsheet can be used to create Web based user interfaces for configuring sets of properties. The project can compose and generate HTML forms with fields that appear split between multiple pages.
The form pages may be browsed using a tabbed or wizard-like user interface. The form may be composed by adding several types of fields to each form page.
<<lessThe form pages may be browsed using a tabbed or wizard-like user interface. The form may be composed by adding several types of fields to each form page.
Download (MB)
Added: 2007-03-23 License: GPL (GNU General Public License) Price:
946 downloads
Term::Prompt 1.03
Term::Prompt is a Perl extension for prompting a user for information. more>>
Term::Prompt is a Perl extension for prompting a user for information.
SYNOPSIS
use Term::Prompt;
$value = &prompt(...);
use Term::Prompt qw(termwrap);
print &termwrap(...);
$Term::Prompt::MULTILINE_INDENT = ;
PREREQUISITES
You must have Text::Wrap and Term::ReadKey available on your system.
This main function of this module is to accept interactive input. You specify the type of inputs allowed, a prompt, help text and defaults and it will deal with the user interface, (and the user!), by displaying the prompt, showing the default, and checking to be sure that the response is one of the legal choices. Additional "types" that could be added would be a phone type, a social security type, a generic numeric pattern type...
<<lessSYNOPSIS
use Term::Prompt;
$value = &prompt(...);
use Term::Prompt qw(termwrap);
print &termwrap(...);
$Term::Prompt::MULTILINE_INDENT = ;
PREREQUISITES
You must have Text::Wrap and Term::ReadKey available on your system.
This main function of this module is to accept interactive input. You specify the type of inputs allowed, a prompt, help text and defaults and it will deal with the user interface, (and the user!), by displaying the prompt, showing the default, and checking to be sure that the response is one of the legal choices. Additional "types" that could be added would be a phone type, a social security type, a generic numeric pattern type...
Download (0.011MB)
Added: 2006-11-02 License: Perl Artistic License Price:
1086 downloads
Thin SFTP Applet 1.03
Thin SFTP Applet is a full featured Secure File Transfer Program. more>>
Thin SFTP Applet is a full featured Secure File Transfer Program. Thin SFTP Applet can be use for secure file transfer and management and can be easily integrated into your website or web application.
You can use our SFTP applet to carry out recursive folder uploads and downloads, with entire directory trees being transfered in a single click.
Interrupted transfers can be resumed. Unlike the FTP protocol, with SFTP all data and commands are encrypted for maximum security.
In spite of being a web client, its appearence is no different from a traditional 2-Table File Transfer Program for desktops.
Because the client is an applet it does not need to refresh itself each time a file transfer or any other operation takes place. The result is that the user experience is no different from using a desktop client.
Enhancements:
- A minor bug related to connection pooling and reuse was fixed.
<<lessYou can use our SFTP applet to carry out recursive folder uploads and downloads, with entire directory trees being transfered in a single click.
Interrupted transfers can be resumed. Unlike the FTP protocol, with SFTP all data and commands are encrypted for maximum security.
In spite of being a web client, its appearence is no different from a traditional 2-Table File Transfer Program for desktops.
Because the client is an applet it does not need to refresh itself each time a file transfer or any other operation takes place. The result is that the user experience is no different from using a desktop client.
Enhancements:
- A minor bug related to connection pooling and reuse was fixed.
Download (0.13MB)
Added: 2006-10-25 License: Free for non-commercial use Price: $320
1126 downloads
wmSun 1.03
wmSun dockapp shows the rise/set time of Sun. more>>
wmSun dockapp shows the rise/set time of Sun.
Long = 155d 55m = 155.92
Lat = 19d 35m = 19.58
ToDo:
- Add multiple "pages" like wmMoonClock?
- Eclipse info?
- Twilight Calcs. Civil, Astro, Nautical....
- Transit time?
- Graphical Annalemma or plot of Eq of Time...
- Add user definable twiddle factor to account for local terrain etc.. Could even go way overbaord and download USGS topo info? (Man! that is going overboard!).
<<lessLong = 155d 55m = 155.92
Lat = 19d 35m = 19.58
ToDo:
- Add multiple "pages" like wmMoonClock?
- Eclipse info?
- Twilight Calcs. Civil, Astro, Nautical....
- Transit time?
- Graphical Annalemma or plot of Eq of Time...
- Add user definable twiddle factor to account for local terrain etc.. Could even go way overbaord and download USGS topo info? (Man! that is going overboard!).
Download (0.18MB)
Added: 2006-10-12 License: GPL (GNU General Public License) Price:
1109 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 imaptalk 1.03 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