data ctable 1.03
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 4932
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
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
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
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
Data::ENAML 0.03
Data::ENAML is a Perl extension for ENAML data representation. more>>
Data::ENAML is a Perl extension for ENAML data representation.
SYNOPSIS
use Data::ENAML qw (serialize deserialize);
print serialize(login => {nick => Schop,
email => ariel@atheist.org.il,
tagline => If I had no modem I would not lose Regina});
$struct = deserialize(bad-nick: {nick: "c00l dewd" text: "spaces not allowed"});
ENAML stands for ENAML is Not A Markup Language. (And as we all know, Gnu is Not UNIX, Pine Is Not Email, Wine Is Not Emulator, Lame Aint Mp3 Encoder and so on).
ENAML was defined by Robey Pointer for use in Say2, check http://www.lag.net/say2.
<<lessSYNOPSIS
use Data::ENAML qw (serialize deserialize);
print serialize(login => {nick => Schop,
email => ariel@atheist.org.il,
tagline => If I had no modem I would not lose Regina});
$struct = deserialize(bad-nick: {nick: "c00l dewd" text: "spaces not allowed"});
ENAML stands for ENAML is Not A Markup Language. (And as we all know, Gnu is Not UNIX, Pine Is Not Email, Wine Is Not Emulator, Lame Aint Mp3 Encoder and so on).
ENAML was defined by Robey Pointer for use in Say2, check http://www.lag.net/say2.
Download (0.004MB)
Added: 2006-11-15 License: Perl Artistic License Price:
1073 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
Learn HTML By Example 1.03
Learn HTML By Example is a sweet little JavaScript / HTML program. more>>
Learn HTML By Example is a sweet little JavaScript / HTML program that allows you to see the HTML you input into on side displayed as a web page on the other.
To install the program, just download it from Web Design Factory, and upload it to your web site.
Main features:
- Easy installation. Just upload to your web site and youre done!
- Immediate feedback on testing HTML and CSS code
- Several examples of commonly used HTML and CSS elements
- No page refreshing required
- Easy to expand by adding new examples
<<lessTo install the program, just download it from Web Design Factory, and upload it to your web site.
Main features:
- Easy installation. Just upload to your web site and youre done!
- Immediate feedback on testing HTML and CSS code
- Several examples of commonly used HTML and CSS elements
- No page refreshing required
- Easy to expand by adding new examples
Download (0.008MB)
Added: 2005-12-19 License: Freeware Price:
1406 downloads
Test::Data 1.20
Test::Data is a Perl module to test functions for particular variable types. more>>
Test::Data is a Perl module to test functions for particular variable types.
SYNOPSIS
use Test::Data qw(Scalar Array Hash Function);
Test::Data provides utility functions to check properties and values of data and variables.
Functions
Plug-in modules define functions for each data type. See the appropriate module.
How it works
The Test::Data module simply emports functions from Test::Data::* modules. Each module defines a self-contained function, and puts that function name into @EXPORT. Test::Data defines its own import function, but that does not matter to the plug-in modules.
If you want to write a plug-in module, follow the example of one that already exists. Name the module Test::Data::Foo, where you replace Foo with the right name. Test::Data should automatically find it.
<<lessSYNOPSIS
use Test::Data qw(Scalar Array Hash Function);
Test::Data provides utility functions to check properties and values of data and variables.
Functions
Plug-in modules define functions for each data type. See the appropriate module.
How it works
The Test::Data module simply emports functions from Test::Data::* modules. Each module defines a self-contained function, and puts that function name into @EXPORT. Test::Data defines its own import function, but that does not matter to the plug-in modules.
If you want to write a plug-in module, follow the example of one that already exists. Name the module Test::Data::Foo, where you replace Foo with the right name. Test::Data should automatically find it.
Download (0.008MB)
Added: 2007-05-03 License: Perl Artistic License Price:
904 downloads
Data::Stag 0.10
Data::Stag is a Perl module with structured tags datastructures. more>>
Data::Stag is a Perl module with structured tags datastructures.
SYNOPSIS
# PROCEDURAL USAGE
use Data::Stag qw(:all);
$doc = stag_parse($file);
@persons = stag_find($doc, "person");
foreach $p (@persons) {
printf "%s, %s phone: %sn",
stag_sget($p, "family_name"),
stag_sget($p, "given_name"),
stag_sget($p, "phone_no"),
;
}
# OBJECT-ORIENTED USAGE
use Data::Stag;
$doc = Data::Stag->parse($file);
@persons = $doc->find("person");
foreach $p (@person) {
printf "%s, %s phone:%sn",
$p->sget("family_name"),
$p->sget("given_name"),
$p->sget("phone_no"),
;
}
This module is for manipulating data as hierarchical tag/value pairs (Structured TAGs or Simple Tree AGgreggates).
<<lessSYNOPSIS
# PROCEDURAL USAGE
use Data::Stag qw(:all);
$doc = stag_parse($file);
@persons = stag_find($doc, "person");
foreach $p (@persons) {
printf "%s, %s phone: %sn",
stag_sget($p, "family_name"),
stag_sget($p, "given_name"),
stag_sget($p, "phone_no"),
;
}
# OBJECT-ORIENTED USAGE
use Data::Stag;
$doc = Data::Stag->parse($file);
@persons = $doc->find("person");
foreach $p (@person) {
printf "%s, %s phone:%sn",
$p->sget("family_name"),
$p->sget("given_name"),
$p->sget("phone_no"),
;
}
This module is for manipulating data as hierarchical tag/value pairs (Structured TAGs or Simple Tree AGgreggates).
Download (0.43MB)
Added: 2006-10-03 License: Perl Artistic License Price:
1117 downloads
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
Test::Singleton 1.03
Test::Singleton is a test for Singleton classes. more>>
Test::Singleton is a test for Singleton classes.
SYNOPSIS
use Test::More tests => 1;
use Test::Singleton;
is_singleton( "Some::Class", "new", "instance" );
** If you are unfamiliar with testing read Test::Tutorial first! **
This is asimple, basic module for checking whether a class is a Singleton. A Singleton describes an object class that can have only one instance in any system. An example of a Singleton might be a print spooler or system registry, or any kind of central dispatcher.
For a description and discussion of the Singleton class, see "Design Patterns", Gamma et al, Addison-Wesley, 1995, ISBN 0-201-63361-2.
<<lessSYNOPSIS
use Test::More tests => 1;
use Test::Singleton;
is_singleton( "Some::Class", "new", "instance" );
** If you are unfamiliar with testing read Test::Tutorial first! **
This is asimple, basic module for checking whether a class is a Singleton. A Singleton describes an object class that can have only one instance in any system. An example of a Singleton might be a print spooler or system registry, or any kind of central dispatcher.
For a description and discussion of the Singleton class, see "Design Patterns", Gamma et al, Addison-Wesley, 1995, ISBN 0-201-63361-2.
Download (0.025MB)
Added: 2007-03-12 License: Perl Artistic License Price:
956 downloads
Data::DPath::Builder 0.00_01
Data::DPath::Builder is a SAX handler for building an XPath tree. more>>
Data::DPath::Builder is a SAX handler for building an XPath tree.
SYNOPSIS
use AnySAXParser;
use Data::DPath::Builder;
$builder = Data::DPath::Builder->new();
$parser = AnySAXParser->new( Handler => $builder );
$root_node = $parser->parse( Source => [SOURCE] );
Data::DPath::Builder is a SAX handler for building an Data::DPath tree.
Data::DPath::Builder is used by creating a new instance of Data::DPath::Builder and providing it as the Handler for a SAX parser. Calling `parse() on the SAX parser will return the root node of the tree built from that parse.
<<lessSYNOPSIS
use AnySAXParser;
use Data::DPath::Builder;
$builder = Data::DPath::Builder->new();
$parser = AnySAXParser->new( Handler => $builder );
$root_node = $parser->parse( Source => [SOURCE] );
Data::DPath::Builder is a SAX handler for building an Data::DPath tree.
Data::DPath::Builder is used by creating a new instance of Data::DPath::Builder and providing it as the Handler for a SAX parser. Calling `parse() on the SAX parser will return the root node of the tree built from that parse.
Download (0.032MB)
Added: 2006-08-31 License: Perl Artistic License Price:
1149 downloads
Convert::Bencode 1.03
Convert::Bencode are functions for converting to/from bencoded strings. more>>
Convert::Bencode are functions for converting to/from bencoded strings.
SYNOPSIS
use Convert::Bencode qw(bencode bdecode);
my $string = "d4:ainti12345e3:key5:value4:type4:teste";
my $hashref = bdecode($string);
foreach my $key (keys(%{$hashref})) {
print "Key: $key, Value: ${$hashref}{$key}n";
}
my $encoded_string = bencode($hashref);
print $encoded_string."n";
This module provides two functions, bencode and bdecode, which encode and decode bencoded strings respectivly.
<<lessSYNOPSIS
use Convert::Bencode qw(bencode bdecode);
my $string = "d4:ainti12345e3:key5:value4:type4:teste";
my $hashref = bdecode($string);
foreach my $key (keys(%{$hashref})) {
print "Key: $key, Value: ${$hashref}{$key}n";
}
my $encoded_string = bencode($hashref);
print $encoded_string."n";
This module provides two functions, bencode and bdecode, which encode and decode bencoded strings respectivly.
Download (0.010MB)
Added: 2006-08-02 License: Perl Artistic License Price:
1181 downloads
Data::TreeDumper 0.33
Data::TreeDumper is an improved replacement for Data::Dumper. more>>
Data::TreeDumper is an improved replacement for Data::Dumper. Powerful filtering capability.
SYNOPSIS
use Data::TreeDumper ;
my $sub = sub {} ;
my $s =
{
A =>
{
a =>
{
}
, bbbbbb => $sub
, c123 => $sub
, d => $sub
}
, C =>
{
b =>
{
a =>
{
a =>
{
}
, b => sub
{
}
, c => 42
}
}
}
, ARRAY => [qw(elment_1 element_2 element_3)]
} ;
#-------------------------------------------------------------------
# package setup data
#-------------------------------------------------------------------
$Data::TreeDumper::Useascii = 0 ;
$Data::TreeDumper::Maxdepth = 2 ;
print DumpTree($s, title) ;
print DumpTree($s, title, MAX_DEPTH => 1) ;
print DumpTrees
(
[$s, "title", MAX_DEPTH => 1]
, [$s2, "other_title", DISPLAY_ADDRESS => 0]
, USE_ASCII => 1
, MAX_DEPTH => 5
) ;
Output:
title:
|- A [H1]
| |- a [H2]
| |- bbbbbb = CODE(0x8139fa0) [C3]
| |- c123 [C4 -> C3]
| `- d [R5]
| `- REF(0x8139fb8) [R5 -> C3]
|- ARRAY [A6]
| |- 0 [S7] = elment_1
| |- 1 [S8] = element_2
| `- 2 [S9] = element_3
`- C [H10]
`- b [H11]
`- a [H12]
|- a [H13]
|- b = CODE(0x81ab130) [C14]
`- c [S15] = 42
<<lessSYNOPSIS
use Data::TreeDumper ;
my $sub = sub {} ;
my $s =
{
A =>
{
a =>
{
}
, bbbbbb => $sub
, c123 => $sub
, d => $sub
}
, C =>
{
b =>
{
a =>
{
a =>
{
}
, b => sub
{
}
, c => 42
}
}
}
, ARRAY => [qw(elment_1 element_2 element_3)]
} ;
#-------------------------------------------------------------------
# package setup data
#-------------------------------------------------------------------
$Data::TreeDumper::Useascii = 0 ;
$Data::TreeDumper::Maxdepth = 2 ;
print DumpTree($s, title) ;
print DumpTree($s, title, MAX_DEPTH => 1) ;
print DumpTrees
(
[$s, "title", MAX_DEPTH => 1]
, [$s2, "other_title", DISPLAY_ADDRESS => 0]
, USE_ASCII => 1
, MAX_DEPTH => 5
) ;
Output:
title:
|- A [H1]
| |- a [H2]
| |- bbbbbb = CODE(0x8139fa0) [C3]
| |- c123 [C4 -> C3]
| `- d [R5]
| `- REF(0x8139fb8) [R5 -> C3]
|- ARRAY [A6]
| |- 0 [S7] = elment_1
| |- 1 [S8] = element_2
| `- 2 [S9] = element_3
`- C [H10]
`- b [H11]
`- a [H12]
|- a [H13]
|- b = CODE(0x81ab130) [C14]
`- c [S15] = 42
Download (0.026MB)
Added: 2007-07-06 License: Perl Artistic License Price:
840 downloads
rwdaddresses 1.03
rwdaddresses project consists of an address book using flat files and RubyWebDialogs. more>>
rwdaddresses project consists of an address book using flat files and RubyWebDialogs.
In addition to text data, contact photos can be added and viewed. You can sync contact names to/from an FTP site. It has context sensitive help. Additional applets can be downloaded.
The GUI interface used is RubyWebDialogs, which runs through a Web browser. Therefore, it is completely cross-platform.
This is part of the Tinker framework using Ruby, so applets can be added and removed.
Enhancements:
- Export vCard
- view raw vCard
- updated for rwdtinker 1.61
<<lessIn addition to text data, contact photos can be added and viewed. You can sync contact names to/from an FTP site. It has context sensitive help. Additional applets can be downloaded.
The GUI interface used is RubyWebDialogs, which runs through a Web browser. Therefore, it is completely cross-platform.
This is part of the Tinker framework using Ruby, so applets can be added and removed.
Enhancements:
- Export vCard
- view raw vCard
- updated for rwdtinker 1.61
Download (0.23MB)
Added: 2007-01-26 License: GPL (GNU General Public License) Price:
1001 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 data ctable 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