0.08
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 96
DOMBA 0.08
Domba is a dummy-oriented managing bandwidth application. more>>
Domba is a dummy-oriented managing bandwidth application. It is a Web-based application for managing bandwidth / traffic shaping using CBQ-based traffic control from iproute2 and kernel.
<<less Download (0.041MB)
Added: 2006-07-06 License: GPL (GNU General Public License) Price:
1205 downloads
SX-IDE 0.08
SX-IDE is an IDE to program the Ubicom SX28/52 microcontroller from within Linux. more>>
This is an application to compile assembler files and transfer them from Linux to the XGS (SX28/52 microcontrollers) with the SX-Key.
It requires QT 4, WINE and the SASM assembler. The 0.02 version contains just the transfer part. The newer versions also contain the rest of the IDE to compile the source code and transfer the files.
<<lessIt requires QT 4, WINE and the SASM assembler. The 0.02 version contains just the transfer part. The newer versions also contain the rest of the IDE to compile the source code and transfer the files.
Download (0.084MB)
Added: 2005-08-07 License: GPL (GNU General Public License) Price:
1538 downloads
Pympd 0.08.1
Pympd is a Rhythmbox-like GTK2 client for Music Player Daemon (MPD) written in Python. more>>
Pympd is a frontend for mpd in the style of rhythmbox and itunes, written in python, with pygtk.
Pympd itself is not a music player and it is actually a frontend to mpd, a daemon for playing and managing music.
Many thanks go to mackstann for his libpympdclient.
<<lessPympd itself is not a music player and it is actually a frontend to mpd, a daemon for playing and managing music.
Many thanks go to mackstann for his libpympdclient.
Download (0.089MB)
Added: 2007-05-10 License: GPL (GNU General Public License) Price:
898 downloads
bgpd.pl 0.08
bgpd.pl is a partial implementation of the BGP protocol (RFC1771) in Perl. more>>
bgpd.pl is a partial implementation of the BGP protocol (RFC1771) in Perl. It was writen as a tool to monitor BGP routing updates.
bgpd.pl is NOT written to be used as a BGP router in an operational network, in fact is has no support to propogate routing information because there is no code to send BGP UPDATE messages. bgpd.pl also does not touch the routing table of the host it runs on.
tTo install follow these commands:
download and install Net::Patricia from
http://net.doit.wisc.edu/~plonka/Net-Patricia/
cd ; tar zxvf bgpd.pl-0.05.tar.gz
Enhancements:
- One-liner bug fix in handling unknown optional non-transitive attributes (Bug found and fixed by andrew@supernews.net)
<<lessbgpd.pl is NOT written to be used as a BGP router in an operational network, in fact is has no support to propogate routing information because there is no code to send BGP UPDATE messages. bgpd.pl also does not touch the routing table of the host it runs on.
tTo install follow these commands:
download and install Net::Patricia from
http://net.doit.wisc.edu/~plonka/Net-Patricia/
cd ; tar zxvf bgpd.pl-0.05.tar.gz
Enhancements:
- One-liner bug fix in handling unknown optional non-transitive attributes (Bug found and fixed by andrew@supernews.net)
Download (0.028MB)
Added: 2006-07-05 License: GPL (GNU General Public License) Price:
1207 downloads
QtOIDUA 0.08
QtOIDUA is a graphical user interface for OIDUA for Linux and Mac OS X written in C++ using Qt. more>>
QtOIDUA is a graphical user interface for OIDUA for Linux and Mac OS X written in C++ using Qt. It is completely free and open source, and is licensed under the GNU GPL.
QtOIDUA supports all the features of OIDUA and makes it easy to create fields, add directories, choose colors, and set options. QtOIDUA also allows you to save list configuration files, so you can easily recreate any previously created list.
OIDUA is an Audiolist clone by Sylvester Johansson and Mattias Paivarinta. Its purpose is to generate lists of audio files based on their location in your directory tree.
Enhancements:
- Added options that allow the user to specify whether they want a new file, the previously opened file, or a specific file to be loaded on startup.
- Fixed a bug that caused options to be enabled/disabled improperly when the output.db option was checked while OIDUA was downgraded to a version that didnt support it.
- Slightly resized the icons image so it better fits in both Linux and OS X.
- Icon now displayed in Linux if supported by the users window manager.
- No longer necessary to manually copy the icon into the application bundle and edit the Info.plist file when compiling in OS X.
- Added logo to the About window.
- Various code changes and cleanups.
<<lessQtOIDUA supports all the features of OIDUA and makes it easy to create fields, add directories, choose colors, and set options. QtOIDUA also allows you to save list configuration files, so you can easily recreate any previously created list.
OIDUA is an Audiolist clone by Sylvester Johansson and Mattias Paivarinta. Its purpose is to generate lists of audio files based on their location in your directory tree.
Enhancements:
- Added options that allow the user to specify whether they want a new file, the previously opened file, or a specific file to be loaded on startup.
- Fixed a bug that caused options to be enabled/disabled improperly when the output.db option was checked while OIDUA was downgraded to a version that didnt support it.
- Slightly resized the icons image so it better fits in both Linux and OS X.
- Icon now displayed in Linux if supported by the users window manager.
- No longer necessary to manually copy the icon into the application bundle and edit the Info.plist file when compiling in OS X.
- Added logo to the About window.
- Various code changes and cleanups.
Download (0.099MB)
Added: 2005-07-25 License: GPL (GNU General Public License) Price:
1552 downloads
Download (MB)
Added: 2006-05-09 License: GPL (GNU General Public License) Price:
1282 downloads
Java::JCR 0.08
Java::JCR is a module to use JSR 170 (JCR) repositories from Perl. more>>
Java::JCR is a module to use JSR 170 (JCR) repositories from Perl.
SYNOPSIS
use Java::JCR;
use Java::JCR::Jackrabbit;
my $repository = Java::JCR::Jackrabbit->new;
my $session = $repository->login(
Java::JCR::SimpleCredentials->new(username, password)
);
my $root = $session->get_root_node;
my $node = $root->add_node(foo, nt:unstructured);
$node->set_property(bar, 10);
$node->set_property(baz, blah);
$node->set_property(qux, 4.8);
$session->save;
The JSR 170 specification describes a Java-based API for access hierarchical databases. This is generally referred to by the abbreviation JCR, which is an abbreviation for Content Repository API for Java Technology Specification.
The biggest OSS implementation, as of this writing, is Jackrabbit, which is a project at the Apache Software Foundation, http://jackrabbit.apache.org/. Currently, this library allows Perl programmers to develop using the JCR and Jackrabbit, though, theres no reason why connectors cant be written for other implementations, such as Jaceira, CRX, eXoplatform, etc. The JCR library wrappers included are not at all specific to Jackrabbit.
<<lessSYNOPSIS
use Java::JCR;
use Java::JCR::Jackrabbit;
my $repository = Java::JCR::Jackrabbit->new;
my $session = $repository->login(
Java::JCR::SimpleCredentials->new(username, password)
);
my $root = $session->get_root_node;
my $node = $root->add_node(foo, nt:unstructured);
$node->set_property(bar, 10);
$node->set_property(baz, blah);
$node->set_property(qux, 4.8);
$session->save;
The JSR 170 specification describes a Java-based API for access hierarchical databases. This is generally referred to by the abbreviation JCR, which is an abbreviation for Content Repository API for Java Technology Specification.
The biggest OSS implementation, as of this writing, is Jackrabbit, which is a project at the Apache Software Foundation, http://jackrabbit.apache.org/. Currently, this library allows Perl programmers to develop using the JCR and Jackrabbit, though, theres no reason why connectors cant be written for other implementations, such as Jaceira, CRX, eXoplatform, etc. The JCR library wrappers included are not at all specific to Jackrabbit.
Download (0.047MB)
Added: 2007-06-04 License: Perl Artistic License Price:
875 downloads
Geo::ECEF 0.08
Geo::ECEF is a Perl module that converts between ECEF coordinates and latitude, longitude and height above ellipsoid. more>>
Geo::ECEF is a Perl module that converts between ECEF (earth centered earth fixed) coordinates and latitude, longitude and height above ellipsoid.
SYNOPSIS
use Geo::ECEF;
my $obj=Geo::ECEF->new(); #WGS84 is the default
my ($x, $y, $z)=$obj->ecef(39.197807, -77.108574, 55); #Lat (deg), Lon (deg), HAE (meters)
print "X: $xtY: $ytZ: $zn";
my ($lat, $lon, $hae)=$obj->geodetic($x, $y, $z); #X (meters), Y (meters), Z (meters)
print "Lat: $lat tLon: $lon tHAE $haen";
Geo::ECEF provides two methods ecef and geodetic. The ecef method calculates the X,Y and Z coordinates in the ECEF (earth centered earth fixed) coordinate system from latitude, longitude and height above the ellipsoid. The geodetic method calculates the latitude, longitude and height above ellipsoid from ECEF coordinates.
The formulas were found at http://www.u-blox.ch/ and http://waas.stanford.edu/~wwu/maast/maastWWW1_0.zip.
This code is an object Perl rewrite of a similar package by Morten Sickel, Norwegian Radiation Protection Authority
<<lessSYNOPSIS
use Geo::ECEF;
my $obj=Geo::ECEF->new(); #WGS84 is the default
my ($x, $y, $z)=$obj->ecef(39.197807, -77.108574, 55); #Lat (deg), Lon (deg), HAE (meters)
print "X: $xtY: $ytZ: $zn";
my ($lat, $lon, $hae)=$obj->geodetic($x, $y, $z); #X (meters), Y (meters), Z (meters)
print "Lat: $lat tLon: $lon tHAE $haen";
Geo::ECEF provides two methods ecef and geodetic. The ecef method calculates the X,Y and Z coordinates in the ECEF (earth centered earth fixed) coordinate system from latitude, longitude and height above the ellipsoid. The geodetic method calculates the latitude, longitude and height above ellipsoid from ECEF coordinates.
The formulas were found at http://www.u-blox.ch/ and http://waas.stanford.edu/~wwu/maast/maastWWW1_0.zip.
This code is an object Perl rewrite of a similar package by Morten Sickel, Norwegian Radiation Protection Authority
Download (0.005MB)
Added: 2007-05-18 License: Perl Artistic License Price:
903 downloads
sqlt-diff 0.08
sqlt-diff is a Perl module that can find the differences b/w two schemas. more>>
sqlt-diff is a Perl module that can find the differences b/w two schemas.
SYNOPSIS
For help:
sqlt-diff -h|--help
For a list of all valid parsers:
sqlt -l|--list
To diff two schemas:
sqlt-diff [options] file_name1=parser file_name2=parser
Options:
-d|--debug Show debugging info
-t|--trace Turn on tracing for Parse::RecDescent
-c|--case-insensitive Compare tables/columns case-insenstiviely
sqlt-diff is a utility for creating a file of SQL commands necessary to transform the first schema provided to the second. While not yet exhaustive in its ability to mutate the entire schema, it will report the following
New tables
Using the Producer class of the target (second) schema, any tables missing in the first schema will be generated in their entirety (fields, constraints, indices).
Missing/altered fields
Any fields missing or altered between the two schemas will be reported as:
ALTER TABLE < table_name >
[DROP < field_name >]
[CHANGE < field_name > < datatype > (< size >)] ;
Missing/altered indices
Any indices missing or of a different type or on different fields will be indicated. Indices that should be dropped will be reported as such:
DROP INDEX < index_name > ON < table_name > ;
An index of a different type or on different fields will be reported as a new index as such:
CREATE [< index_type >] INDEX [< index_name >] ON < table_name >
( < field_name >[,< field_name >] ) ;
"ALTER/DROP TABLE" and "CREATE INDEX" statements are not generated by the Producer, unfortunately, and may require massaging before being passed to your target database.
<<lessSYNOPSIS
For help:
sqlt-diff -h|--help
For a list of all valid parsers:
sqlt -l|--list
To diff two schemas:
sqlt-diff [options] file_name1=parser file_name2=parser
Options:
-d|--debug Show debugging info
-t|--trace Turn on tracing for Parse::RecDescent
-c|--case-insensitive Compare tables/columns case-insenstiviely
sqlt-diff is a utility for creating a file of SQL commands necessary to transform the first schema provided to the second. While not yet exhaustive in its ability to mutate the entire schema, it will report the following
New tables
Using the Producer class of the target (second) schema, any tables missing in the first schema will be generated in their entirety (fields, constraints, indices).
Missing/altered fields
Any fields missing or altered between the two schemas will be reported as:
ALTER TABLE < table_name >
[DROP < field_name >]
[CHANGE < field_name > < datatype > (< size >)] ;
Missing/altered indices
Any indices missing or of a different type or on different fields will be indicated. Indices that should be dropped will be reported as such:
DROP INDEX < index_name > ON < table_name > ;
An index of a different type or on different fields will be reported as a new index as such:
CREATE [< index_type >] INDEX [< index_name >] ON < table_name >
( < field_name >[,< field_name >] ) ;
"ALTER/DROP TABLE" and "CREATE INDEX" statements are not generated by the Producer, unfortunately, and may require massaging before being passed to your target database.
Download (0.52MB)
Added: 2007-06-27 License: Perl Artistic License Price:
852 downloads
libdoomwad 0.08
libdoomwad is a platform-independant library for manipulating data files from id Softwares game, Doom. more>>
libdoomwad is a library that automates much of the grunt work involved with managing data files for id Softwares game Doom. This is just a library, not a program, so if you are looking for a wad editor, look elsewhere.
Despite Doom being ten years old, quite a few people still play the game and edit maps for it.
I noticed that there is no robust library to manage the low end gruntwork of reading and writing wads, converting binary data into C++ classes and structures for use in editors, etc. so I set out to write my own.
The result is libdoomwad, a cross-platform OS-neutral library to do all these tasks.
Main features:
- Defines structures to represent most of the entries found in wad files.
- Defines a generic Lump class that abstracts a single entry of any type. It handles memory allocation and provides a few useful functions.
- Wad class that abstracts a single wad file. Provides easy file extraction and insertion.
- Consistently uses standard C++ exceptions to provide meaningful, verbose error messages to aid in debugging and to pinpoint exactly what went wrong.
Enhancements:
- Updated documentation. Made the version changes in each file into a pretty list.
- Added LGPL license to Doxygen documentation.
- Added a bunch of warning flags to GCCs command line, then fixed all the warnings that popped up.
<<lessDespite Doom being ten years old, quite a few people still play the game and edit maps for it.
I noticed that there is no robust library to manage the low end gruntwork of reading and writing wads, converting binary data into C++ classes and structures for use in editors, etc. so I set out to write my own.
The result is libdoomwad, a cross-platform OS-neutral library to do all these tasks.
Main features:
- Defines structures to represent most of the entries found in wad files.
- Defines a generic Lump class that abstracts a single entry of any type. It handles memory allocation and provides a few useful functions.
- Wad class that abstracts a single wad file. Provides easy file extraction and insertion.
- Consistently uses standard C++ exceptions to provide meaningful, verbose error messages to aid in debugging and to pinpoint exactly what went wrong.
Enhancements:
- Updated documentation. Made the version changes in each file into a pretty list.
- Added LGPL license to Doxygen documentation.
- Added a bunch of warning flags to GCCs command line, then fixed all the warnings that popped up.
Download (0.097MB)
Added: 2005-09-29 License: GPL (GNU General Public License) Price:
1486 downloads
KVideoEncoder 0.08
KVideoEncoder is a GUI for the mencoder. more>>
KVideoEncoder is a GUI for the mencoder; the goal of this application is to be a clone of TMPGEnc for Linux with additional features.
KVideoEncoder supports joining of two or more videos and dvd-ripping.
<<lessKVideoEncoder supports joining of two or more videos and dvd-ripping.
Download (MB)
Added: 2007-01-15 License: GPL (GNU General Public License) Price:
1018 downloads
MDV::Repsys 0.08
MDV::Repsys is a Perl module to build rpm from a svn. more>>
MDV::Repsys is a Perl module to build rpm from a svn.
FUNCTIONS
set_verbosity($level)
Set the verbosity verbosity of the module:
0 silent
1 progress message
2 debug message
set_rpm_dirs($dir)
Set internals rpm macros that are used by rpm building functions:
_sourcedir to $dir/SOURCES
_patchdir to $dir/SOURCES
_specdir to $dir/SPECS
create_rpm_dirs
Create directories used by rpm building functions:
_sourcedir
_patchdir
_specdir
Return 1 on sucess, 0 on failure.
extract_srpm($rpmfile, $directory)
Extract (install) a source package into $directory.
find_unsync_files($working_dir, $specfile)
Return two array ref of lists of files that should be added or removed from the svn working copy to be sync with the specfile.
sync_svn_copy($add, $remove)
Perform add or remove of files listed in both array ref.
sync_source($workingdir, $specfile)
Synchronize svn content by performing add/remove on file need to build the package.
$workingdir should a svn directory. No changes are applied to the repository, you have to commit yourself after.
Return 1 on success, 0 on error.
strip_changelog($specfile)
Remove the %changelog section from the specfile.
build($dir, $what, %options)
Build package locate in $dir. The type of packages to build is set in the string $what: b for binaries, s for source.
If $options{specfile} is set, the build is done from this specfile and not the one contains in SPECS/ directory.
<<lessFUNCTIONS
set_verbosity($level)
Set the verbosity verbosity of the module:
0 silent
1 progress message
2 debug message
set_rpm_dirs($dir)
Set internals rpm macros that are used by rpm building functions:
_sourcedir to $dir/SOURCES
_patchdir to $dir/SOURCES
_specdir to $dir/SPECS
create_rpm_dirs
Create directories used by rpm building functions:
_sourcedir
_patchdir
_specdir
Return 1 on sucess, 0 on failure.
extract_srpm($rpmfile, $directory)
Extract (install) a source package into $directory.
find_unsync_files($working_dir, $specfile)
Return two array ref of lists of files that should be added or removed from the svn working copy to be sync with the specfile.
sync_svn_copy($add, $remove)
Perform add or remove of files listed in both array ref.
sync_source($workingdir, $specfile)
Synchronize svn content by performing add/remove on file need to build the package.
$workingdir should a svn directory. No changes are applied to the repository, you have to commit yourself after.
Return 1 on success, 0 on error.
strip_changelog($specfile)
Remove the %changelog section from the specfile.
build($dir, $what, %options)
Build package locate in $dir. The type of packages to build is set in the string $what: b for binaries, s for source.
If $options{specfile} is set, the build is done from this specfile and not the one contains in SPECS/ directory.
Download (0.034MB)
Added: 2006-09-29 License: Perl Artistic License Price:
1120 downloads
Net::Milter 0.08
Net::Milter provides a masquerade as the MTA to communicate with email filters through a milter interface. more>>
Net::Milter provides a masquerade as the MTA to communicate with email filters through a milter interface.
SYNOPSIS
use Net::Milter;
my $milter = new Net::Milter;
$milter->open(127.0.0.1,5513,tcp);
my ($milter_version,$returned_actions_ref,$returned_protocol_ref) =
$milter->protocol_negotiation();
my (@results) = $milter->send_header(From,martin@localhost);
foreach (@results) {
if ($$_{action} eq reject) {exit;}
}
Also see example in scripts directory.
Perl module to provide a pure Perl implementation of the MTA part the milter interface. The goal of this module is to allow other email systems to easily integrate with the various email filters that accept content via milter.
This implementation of milter is developed from the description provided by Todd Vierling, cvs.sourceforge.net/viewcvs.py/pmilter/pmilter/doc/milter-protocol.txt?rev=1.2 and from examining the tcp output from Sendmail.
<<lessSYNOPSIS
use Net::Milter;
my $milter = new Net::Milter;
$milter->open(127.0.0.1,5513,tcp);
my ($milter_version,$returned_actions_ref,$returned_protocol_ref) =
$milter->protocol_negotiation();
my (@results) = $milter->send_header(From,martin@localhost);
foreach (@results) {
if ($$_{action} eq reject) {exit;}
}
Also see example in scripts directory.
Perl module to provide a pure Perl implementation of the MTA part the milter interface. The goal of this module is to allow other email systems to easily integrate with the various email filters that accept content via milter.
This implementation of milter is developed from the description provided by Todd Vierling, cvs.sourceforge.net/viewcvs.py/pmilter/pmilter/doc/milter-protocol.txt?rev=1.2 and from examining the tcp output from Sendmail.
Download (0.010MB)
Added: 2006-07-27 License: Perl Artistic License Price:
1184 downloads
Text::Scrub 0.08
Text::Scrub is a Perl module used to wild card out text used for comparison. more>>
Text::Scrub is a Perl module used to wild card out text used for comparison.
SYNOPSIS
#########
# Subroutine Interface
#
use Text::Scrub qw(scrub_date scrub_date_ticket scrub_date_version scrub_file_line
scrub_probe scrub_test_file);
$scrubbed_text = scrub_architect($script_text)
$scrubbed_text = scrub_file_line($script_text)
$scrubbed_text = scrub_date($script_text)
$scrubbed_text = scrub_date_ticket($script_text)
$scrubbed_text = scrub_date_version($script_text)
$scrubbed_text = scrub_probe($script_text)
$scrubbed_text = scrub_test_file($script_text)
#########
# Class Interface
#
use Text::Scrub
$scrubbed_text = Text::Scrub->scrub_architect($script_text)
$scrubbed_text = Text::Scrub->scrub_file_line($script_text)
$scrubbed_text = Text::Scrub->scrub_date($script_text)
$scrubbed_text = Text::Scrub->scrub_date_ticket($script_text)
$scrubbed_text = Text::Scrub->scrub_date_version($script_text)
$scrubbed_text = Text::Scrub->scrub_probe($script_text)
$scrubbed_text = Text::Scrub->scrub_test_file($script_text)
The methods in the Test::STD:Scrub package are designed to support the Test::STDmaker and the ExtUtils::SVDmaker package. This is the focus and no other focus. Since Test::STD::Scrub is a separate package, the methods may be used elsewhere. They are used to wild card out parts of two documents before they are compared by making these snippets the same. In all likehood, any revisions will maintain backwards compatibility with previous revisions. However, support and the performance of the Test::STDmaker and ExtUtils::SVDmaker packages has priority over backwards compatibility.
<<lessSYNOPSIS
#########
# Subroutine Interface
#
use Text::Scrub qw(scrub_date scrub_date_ticket scrub_date_version scrub_file_line
scrub_probe scrub_test_file);
$scrubbed_text = scrub_architect($script_text)
$scrubbed_text = scrub_file_line($script_text)
$scrubbed_text = scrub_date($script_text)
$scrubbed_text = scrub_date_ticket($script_text)
$scrubbed_text = scrub_date_version($script_text)
$scrubbed_text = scrub_probe($script_text)
$scrubbed_text = scrub_test_file($script_text)
#########
# Class Interface
#
use Text::Scrub
$scrubbed_text = Text::Scrub->scrub_architect($script_text)
$scrubbed_text = Text::Scrub->scrub_file_line($script_text)
$scrubbed_text = Text::Scrub->scrub_date($script_text)
$scrubbed_text = Text::Scrub->scrub_date_ticket($script_text)
$scrubbed_text = Text::Scrub->scrub_date_version($script_text)
$scrubbed_text = Text::Scrub->scrub_probe($script_text)
$scrubbed_text = Text::Scrub->scrub_test_file($script_text)
The methods in the Test::STD:Scrub package are designed to support the Test::STDmaker and the ExtUtils::SVDmaker package. This is the focus and no other focus. Since Test::STD::Scrub is a separate package, the methods may be used elsewhere. They are used to wild card out parts of two documents before they are compared by making these snippets the same. In all likehood, any revisions will maintain backwards compatibility with previous revisions. However, support and the performance of the Test::STDmaker and ExtUtils::SVDmaker packages has priority over backwards compatibility.
Download (0.062MB)
Added: 2007-02-15 License: Perl Artistic License Price:
982 downloads
DBIx::DBStag 0.08
DBIx::DBStag is a Perl module for Relational Database to Hierarchical (Stag/XML) Mapping. more>>
DBIx::DBStag is a Perl module for Relational Database to Hierarchical (Stag/XML) Mapping.
SYNOPSIS
use DBIx::DBStag;
my $dbh = DBIx::DBStag->connect("dbi:Pg:dbname=moviedb");
my $sql = q[
SELECT
studio.*,
movie.*,
star.*
FROM
studio NATURAL JOIN
movie NATURAL JOIN
movie_to_star NATURAL JOIN
star
WHERE
movie.genre = sci-fi AND star.lastname = Fisher
USE NESTING
(set(studio(movie(star))))
];
my $dataset = $dbh->selectall_stag($sql);
my @studios = $dataset->get_studio;
# returns nested data that looks like this -
#
# (studio
# (name "20th C Fox")
# (movie
# (name "star wars") (genre "sci-fi")
# (star
# (firstname "Carrie")(lastname "Fisher")))))
# iterate through result tree -
foreach my $studio (@studios) {
printf "STUDIO: %sn", $studio->get_name;
my @movies = $studio->get_movie;
foreach my $movie (@movies) {
printf " MOVIE: %s (genre:%s)n",
$movie->get_name, $movie->get_genre;
my @stars = $movie->get_star;
foreach my $star (@stars) {
printf " STARRING: %s:%sn",
$star->get_firstname, $star->get_lastname;
}
}
}
# manipulate data then store it back in the database
my @allstars = $dataset->get("movie/studio/star");
$_->set_fullname($_->get_firstname. .$_->get_lastname)
foreach(@allstars);
$dbh->storenode($dataset);
exit 0;
Or from the command line:
unix> selectall_xml.pl -d dbi:Pg:dbname=moviebase
SELECT * FROM studio NATURAL JOIN movie NATURAL
JOIN movie_to_star NATURAL JOIN star
USE NESTING (set(studio(movie(star))))
Or using a predefined template:
unix> selectall_xml.pl -d moviebase /mdb-movie genre=sci-fi
<<lessSYNOPSIS
use DBIx::DBStag;
my $dbh = DBIx::DBStag->connect("dbi:Pg:dbname=moviedb");
my $sql = q[
SELECT
studio.*,
movie.*,
star.*
FROM
studio NATURAL JOIN
movie NATURAL JOIN
movie_to_star NATURAL JOIN
star
WHERE
movie.genre = sci-fi AND star.lastname = Fisher
USE NESTING
(set(studio(movie(star))))
];
my $dataset = $dbh->selectall_stag($sql);
my @studios = $dataset->get_studio;
# returns nested data that looks like this -
#
# (studio
# (name "20th C Fox")
# (movie
# (name "star wars") (genre "sci-fi")
# (star
# (firstname "Carrie")(lastname "Fisher")))))
# iterate through result tree -
foreach my $studio (@studios) {
printf "STUDIO: %sn", $studio->get_name;
my @movies = $studio->get_movie;
foreach my $movie (@movies) {
printf " MOVIE: %s (genre:%s)n",
$movie->get_name, $movie->get_genre;
my @stars = $movie->get_star;
foreach my $star (@stars) {
printf " STARRING: %s:%sn",
$star->get_firstname, $star->get_lastname;
}
}
}
# manipulate data then store it back in the database
my @allstars = $dataset->get("movie/studio/star");
$_->set_fullname($_->get_firstname. .$_->get_lastname)
foreach(@allstars);
$dbh->storenode($dataset);
exit 0;
Or from the command line:
unix> selectall_xml.pl -d dbi:Pg:dbname=moviebase
SELECT * FROM studio NATURAL JOIN movie NATURAL
JOIN movie_to_star NATURAL JOIN star
USE NESTING (set(studio(movie(star))))
Or using a predefined template:
unix> selectall_xml.pl -d moviebase /mdb-movie genre=sci-fi
Download (0.13MB)
Added: 2006-10-04 License: Perl Artistic License Price:
1115 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 0.08 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