perl interface livingston portmaster
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 8392
RAS::PortMaster 1.16
RAS::PortMaster.pm is a Perl Interface to Livingston PortMaster 2. more>>
RAS::PortMaster.pm is a Perl Interface to Livingston PortMaster 2.
SYNOPSIS
RAS::PortMaster is a PERL 5 module for interfacing with a Livingston PortMaster remote access server. Using this module, one can very easily construct programs to find a particular user in a bank of PMs, disconnect users, get usage statistics, or execute arbitrary commands on a PM.
<<lessSYNOPSIS
RAS::PortMaster is a PERL 5 module for interfacing with a Livingston PortMaster remote access server. Using this module, one can very easily construct programs to find a particular user in a bank of PMs, disconnect users, get usage statistics, or execute arbitrary commands on a PM.
Download (0.006MB)
Added: 2007-04-18 License: Public Domain Price:
920 downloads
Imager::interface.pod 0.54
Imager::interface.pod decribes the C level virtual image interface. more>>
Imager::interface.pod decribes the C level virtual image interface.
The Imager virtual interface aims to allow image types to be created for special purposes, both to allow consistent access to images with different sample sizes, and organizations, but also to allow creation of synthesized or virtual images.
This is a C level interface rather than Perl.
<<lessThe Imager virtual interface aims to allow image types to be created for special purposes, both to allow consistent access to images with different sample sizes, and organizations, but also to allow creation of synthesized or virtual images.
This is a C level interface rather than Perl.
Download (0.83MB)
Added: 2006-10-27 License: Perl Artistic License Price:
1092 downloads
GnuPG::Interface 0.33
GnuPG::Interface is a Perl interface to GnuPG. more>>
GnuPG::Interface is a Perl interface to GnuPG.
SYNOPSIS
# A simple example
use IO::Handle;
use GnuPG::Interface;
# settting up the situation
my $gnupg = GnuPG::Interface->new();
$gnupg->options->hash_init( armor => 1,
homedir => /home/foobar );
# Note you can set the recipients even if you arent encrypting!
$gnupg->options->push_recipients( ftobin@cpan.org );
$gnupg->options->meta_interactive( 0 );
# how we create some handles to interact with GnuPG
my $input = IO::Handle->new();
my $output = IO::Handle->new();
my $handles = GnuPG::Handles->new( stdin => $input,
stdout => $output );
# Now well go about encrypting with the options already set
my @plaintext = ( foobar );
my $pid = $gnupg->encrypt( handles => $handles );
# Now we write to the input of GnuPG
print $input @plaintext;
close $input;
# now we read the output
my @ciphertext = ;
close $output;
waitpid $pid, 0;
GnuPG::Interface and its associated modules are designed to provide an object-oriented method for interacting with GnuPG, being able to perform functions such as but not limited to encrypting, signing, decryption, verification, and key-listing parsing.
How Data Member Accessor Methods are Created
Each module in the GnuPG::Interface bundle relies on Class::MethodMaker to generate the get/set methods used to set the objects data members. This is very important to realize. This means that any data member which is a list has special methods assigned to it for pushing, popping, and clearing the list.
Understanding Bidirectional Communication
It is also imperative to realize that this package uses interprocess communication methods similar to those used in IPC::Open3 and "Bidirectional Communication with Another Process" in perlipc, and that users of this package need to understand how to use this method because this package does not abstract these methods for the user greatly. This package is not designed to abstract this away entirely (partly for security purposes), but rather to simply help create proper, clean calls to GnuPG, and to implement key-listing parsing. Please see "Bidirectional Communication with Another Process" in perlipc to learn how to deal with these methods.
Using this package to do message processing generally invovlves creating a GnuPG::Interface object, creating a GnuPG::Handles object, setting some options in its options data member, and then calling a method which invokes GnuPG, such as clearsign. One then interacts with with the handles appropriately, as described in "Bidirectional Communication with Another Process" in perlipc.
<<lessSYNOPSIS
# A simple example
use IO::Handle;
use GnuPG::Interface;
# settting up the situation
my $gnupg = GnuPG::Interface->new();
$gnupg->options->hash_init( armor => 1,
homedir => /home/foobar );
# Note you can set the recipients even if you arent encrypting!
$gnupg->options->push_recipients( ftobin@cpan.org );
$gnupg->options->meta_interactive( 0 );
# how we create some handles to interact with GnuPG
my $input = IO::Handle->new();
my $output = IO::Handle->new();
my $handles = GnuPG::Handles->new( stdin => $input,
stdout => $output );
# Now well go about encrypting with the options already set
my @plaintext = ( foobar );
my $pid = $gnupg->encrypt( handles => $handles );
# Now we write to the input of GnuPG
print $input @plaintext;
close $input;
# now we read the output
my @ciphertext = ;
close $output;
waitpid $pid, 0;
GnuPG::Interface and its associated modules are designed to provide an object-oriented method for interacting with GnuPG, being able to perform functions such as but not limited to encrypting, signing, decryption, verification, and key-listing parsing.
How Data Member Accessor Methods are Created
Each module in the GnuPG::Interface bundle relies on Class::MethodMaker to generate the get/set methods used to set the objects data members. This is very important to realize. This means that any data member which is a list has special methods assigned to it for pushing, popping, and clearing the list.
Understanding Bidirectional Communication
It is also imperative to realize that this package uses interprocess communication methods similar to those used in IPC::Open3 and "Bidirectional Communication with Another Process" in perlipc, and that users of this package need to understand how to use this method because this package does not abstract these methods for the user greatly. This package is not designed to abstract this away entirely (partly for security purposes), but rather to simply help create proper, clean calls to GnuPG, and to implement key-listing parsing. Please see "Bidirectional Communication with Another Process" in perlipc to learn how to deal with these methods.
Using this package to do message processing generally invovlves creating a GnuPG::Interface object, creating a GnuPG::Handles object, setting some options in its options data member, and then calling a method which invokes GnuPG, such as clearsign. One then interacts with with the handles appropriately, as described in "Bidirectional Communication with Another Process" in perlipc.
Download (0.037MB)
Added: 2006-08-04 License: Perl Artistic License Price:
1176 downloads
Algorithm::Cluster 1.35
Algorithm::Cluster is a Perl interface to the C Clustering Library. more>>
Algorithm::Cluster is a Perl interface to the C Clustering Library.
This module is an interface to the C Clustering Library, a general purpose library implementing functions for hierarchical clustering (pairwise simple, complete, average, and centroid linkage), along with k-means and k-medians clustering, and 2D self-organizing maps.
This library was developed at the Human Genome Center of the University of Tokyo. The C Clustering Library is distributed along with Cluster 3.0, an enhanced version of the famous Cluster program originally written by Michael Eisen while at Stanford University.
<<lessThis module is an interface to the C Clustering Library, a general purpose library implementing functions for hierarchical clustering (pairwise simple, complete, average, and centroid linkage), along with k-means and k-medians clustering, and 2D self-organizing maps.
This library was developed at the Human Genome Center of the University of Tokyo. The C Clustering Library is distributed along with Cluster 3.0, an enhanced version of the famous Cluster program originally written by Michael Eisen while at Stanford University.
Download (0.048MB)
Added: 2007-05-16 License: Perl Artistic License Price:
894 downloads
perlrpcgen 0.71
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions. more>>
perlrpcgen is a Perl module that can generate Perl interfaces from ONC RPC interface definitions.
SYNOPSIS
perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl perl] [--cc cc] [--rpclibs rpclibs] rpcfile.x
perlrpcgen builds a set of Perl extensions and a server shell from an ONC RPC interface definition. For an interface Foo, perlrpcgen creates modules Foo::Client, Foo::Data, and Foo::Constants. Foo::Client contains routines for creating a Foo client and making remote procedure calls via the client. Foo::Data contains routines for creating and manipulating the data structures defined in the Foo interface. Foo::Constants contains functions to retrieve the constants defined in the Foo interface.
OPTIONS
The option parsing uses Getopt::Long, so you can abbreviate option names.
--makefile
Generates a top-level Makefile which will build all the pieces. Include all the other options you want so theyll be propagated to the Makefile.
--all
Implies --client, --server, --data, and --constants. This is usually what you want.
--client
Generates Foo::Client module.
--server
Generates Foo/server/foo_svc.
--data
Generates Foo::Data module.
--constants
Generates Foo::Constants module.
--module module
Sets the basename of the modules. If not given, the name defaults to the basename of the interface file.
--typemap typemap
Uses the given typemap during stub generation. This option can be specified many times. perlrpcgen generates a typemap for the data structures in the interface, but you also need the main Perl typemap.
--fork
Munges the server shell code so that it forks for each request. You probably dont want to do this (its better to prefork several processes when you start the server and let them fight over accept() calls).
--perl perl
Sets the Perl binary against which extensions should be built. Defaults to the Perl you used to install perlrpcgen.
--cc cc
Sets the C compiler to use. Defaults to the compiler used when building Perl.
--rpclibs rpclibs
Sets the RPC libraries to link against. Defaults to -lnsl -lrpcsvc.
<<lessSYNOPSIS
perlrpcgen [--makefile] [--all] [--client] [--server] [--data] [--constants] [--module module] [--typemap typemap] [--fork] [--perl perl] [--cc cc] [--rpclibs rpclibs] rpcfile.x
perlrpcgen builds a set of Perl extensions and a server shell from an ONC RPC interface definition. For an interface Foo, perlrpcgen creates modules Foo::Client, Foo::Data, and Foo::Constants. Foo::Client contains routines for creating a Foo client and making remote procedure calls via the client. Foo::Data contains routines for creating and manipulating the data structures defined in the Foo interface. Foo::Constants contains functions to retrieve the constants defined in the Foo interface.
OPTIONS
The option parsing uses Getopt::Long, so you can abbreviate option names.
--makefile
Generates a top-level Makefile which will build all the pieces. Include all the other options you want so theyll be propagated to the Makefile.
--all
Implies --client, --server, --data, and --constants. This is usually what you want.
--client
Generates Foo::Client module.
--server
Generates Foo/server/foo_svc.
--data
Generates Foo::Data module.
--constants
Generates Foo::Constants module.
--module module
Sets the basename of the modules. If not given, the name defaults to the basename of the interface file.
--typemap typemap
Uses the given typemap during stub generation. This option can be specified many times. perlrpcgen generates a typemap for the data structures in the interface, but you also need the main Perl typemap.
--fork
Munges the server shell code so that it forks for each request. You probably dont want to do this (its better to prefork several processes when you start the server and let them fight over accept() calls).
--perl perl
Sets the Perl binary against which extensions should be built. Defaults to the Perl you used to install perlrpcgen.
--cc cc
Sets the C compiler to use. Defaults to the compiler used when building Perl.
--rpclibs rpclibs
Sets the RPC libraries to link against. Defaults to -lnsl -lrpcsvc.
Download (0.037MB)
Added: 2007-05-31 License: Perl Artistic License Price:
876 downloads
Perl OS 4
Perl OS is a program written in Perl/Tk, designed to look like a simple operating system. more>>
Perl OS is a program written in the Perl programming language combined with the Perl module Tk.
Perl OS was created to make an easy interface to run Perl/Tk programs. It was also created to be an easy working environment complete with a text editor, paint program, and more.
The program comes with several programs, along with a utility to add many more which can be found on the Internet.
From the outside, Perl OS looks like a simple operating system. But inside, it is a powerful system for working with Perl and Tk.
For more details please visit the Perl OS home page:
http://perlos.sourceforge.net/
<<lessPerl OS was created to make an easy interface to run Perl/Tk programs. It was also created to be an easy working environment complete with a text editor, paint program, and more.
The program comes with several programs, along with a utility to add many more which can be found on the Internet.
From the outside, Perl OS looks like a simple operating system. But inside, it is a powerful system for working with Perl and Tk.
For more details please visit the Perl OS home page:
http://perlos.sourceforge.net/
Download (0.14MB)
Added: 2007-08-04 License: GPL v3 Price:
812 downloads
ObjStore::Internals 1.59
ObjStore::Internals is a Perl module with a few notes on the implementation. more>>
ObjStore::Internals is a Perl module with a few notes on the implementation.
SYNOPSIS
You dont have to understand anything about the technical implementation. Just know that:
ObjectStore is outrageously powerful; sophisticated; and even over-engineered.
The perl interface is optimized to be fun and easy. Since ObjectStore is also blindingly fast, you can happily leave relational databases to collect dust on the bookshelf where they belong.
So basically, you dont have to understand anything to a greater depth. Its not necessary. Youve arrived. You will be successful. However, more detail follows. If you like to turn things inside-out, read on!
Perl & C++ APIs: Whats The Difference?
Most stuff should be roughly the same. The few exceptions have generally arisen because there was a perl way to make the interface more programmer friendly.
Transactions are perlified.
Some static methods sit directly under ObjStore:: instead of under their own classes. (Easier to import.)
Databases are always blessed according to your pleasure.
lookup, open, is_open, and lock_timeout are augmented with multi-color, pop-tart style interfaces.
Why not just store perl data with the usual perl structures?
CHANGE CONTROL
As perl evolves, new data layouts are introduced. These changes must not cause database compatibility problems.
BINARY COMPATIBILITY
Perl doesnt have to worry about binary compatibility between platforms. Databases do. In addition, databases impose a number of restrictions on persistent data layout that would be onerous and sub-optimal if adopted by perl.
MEMORY USAGE
Perl often trades memory for speed. This is the wrong trade for a database. Memory usage is much more of a concern when data sets can be as large or larger than ten million megabytes. A few percent difference in compactness can be quite noticable.
<<lessSYNOPSIS
You dont have to understand anything about the technical implementation. Just know that:
ObjectStore is outrageously powerful; sophisticated; and even over-engineered.
The perl interface is optimized to be fun and easy. Since ObjectStore is also blindingly fast, you can happily leave relational databases to collect dust on the bookshelf where they belong.
So basically, you dont have to understand anything to a greater depth. Its not necessary. Youve arrived. You will be successful. However, more detail follows. If you like to turn things inside-out, read on!
Perl & C++ APIs: Whats The Difference?
Most stuff should be roughly the same. The few exceptions have generally arisen because there was a perl way to make the interface more programmer friendly.
Transactions are perlified.
Some static methods sit directly under ObjStore:: instead of under their own classes. (Easier to import.)
Databases are always blessed according to your pleasure.
lookup, open, is_open, and lock_timeout are augmented with multi-color, pop-tart style interfaces.
Why not just store perl data with the usual perl structures?
CHANGE CONTROL
As perl evolves, new data layouts are introduced. These changes must not cause database compatibility problems.
BINARY COMPATIBILITY
Perl doesnt have to worry about binary compatibility between platforms. Databases do. In addition, databases impose a number of restrictions on persistent data layout that would be onerous and sub-optimal if adopted by perl.
MEMORY USAGE
Perl often trades memory for speed. This is the wrong trade for a database. Memory usage is much more of a concern when data sets can be as large or larger than ten million megabytes. A few percent difference in compactness can be quite noticable.
Download (0.16MB)
Added: 2007-02-09 License: Perl Artistic License Price:
989 downloads
WebService::Upcoming 0.05
WebService::Upcoming is a Perl interface to the Upcoming API. more>>
WebService::Upcoming is a Perl interface to the Upcoming API.
SYNOPSIS
use WebService::Upcoming;
my $upco = new WebService::Upcoming("*** UPCOMING API KEY HERE ***");
my $objc = $upco->call("event.search",
{
"search_text" => "music"
});
die("ERROR: ".$upco->err_text()."n") if (!defined($objc));
foreach (@{$objc})
{
print("EVENT: ".$_->name()." on ".$_->start_date()."n");
}
A simple interface for using the Upcoming API.
WebService::Upcoming is a subclass of LWP::UserAgent, so all of the various proxy, request limits, caching, and other features are available.
<<lessSYNOPSIS
use WebService::Upcoming;
my $upco = new WebService::Upcoming("*** UPCOMING API KEY HERE ***");
my $objc = $upco->call("event.search",
{
"search_text" => "music"
});
die("ERROR: ".$upco->err_text()."n") if (!defined($objc));
foreach (@{$objc})
{
print("EVENT: ".$_->name()." on ".$_->start_date()."n");
}
A simple interface for using the Upcoming API.
WebService::Upcoming is a subclass of LWP::UserAgent, so all of the various proxy, request limits, caching, and other features are available.
Download (0.006MB)
Added: 2007-04-02 License: Perl Artistic License Price:
935 downloads
Audio::Mad::Stream 0.6
Audio::Mad::Stream is a Perl interface to mad_stream structure. more>>
Audio::Mad::Stream is a Perl interface to mad_stream structure.
SYPNOSIS
my $stream = new Audio::Mad::Stream ($options);
$stream->buffer($scalar);
my $remain = substr($scalar, $stream->next_frame);
my $position = $stream->this_frame;
$stream->skip($position + 400);
$stream->sync();
$options = $stream->options();
$options |= MAD_OPTION_IGNORECRC;
$stream->options($options);
unless ($stream->err_ok()) {
print "error code was: " . $stream->error() . "n";
}
This package provides an interface to the underlying mad_stream structure used in the decoder library. Almost all of the methods from the library are implemented, and work on regualar perl data types.
<<lessSYPNOSIS
my $stream = new Audio::Mad::Stream ($options);
$stream->buffer($scalar);
my $remain = substr($scalar, $stream->next_frame);
my $position = $stream->this_frame;
$stream->skip($position + 400);
$stream->sync();
$options = $stream->options();
$options |= MAD_OPTION_IGNORECRC;
$stream->options($options);
unless ($stream->err_ok()) {
print "error code was: " . $stream->error() . "n";
}
This package provides an interface to the underlying mad_stream structure used in the decoder library. Almost all of the methods from the library are implemented, and work on regualar perl data types.
Download (0.12MB)
Added: 2006-11-17 License: Perl Artistic License Price:
1071 downloads
RADIUS::Packet 1.0
RADIUS::Packet is an object-oriented Perl interface to RADIUS packets. more>>
RADIUS::Packet is an object-oriented Perl interface to RADIUS packets.
SYNOPSIS
use RADIUS::Packet;
use RADIUS::Dictionary;
my $d = new RADIUS::Dictionary "/etc/radius/dictionary";
my $p = new RADIUS::Packet $d, $data;
$p->dump;
if ($p->attr(User-Name eq "lwall") {
my $resp = new RADIUS::Packet $d;
$resp->set_code(Access-Accept);
$resp->set_identifier($p->identifier);
$resp->set_authenticator($p->authenticator);
$resp->set_attr(Reply-Message) = "Welcome, Larry!rn";
my $respdat = auth_resp($resp->pack, "mysecret");
...
RADIUS (RFC2138) specifies a binary packet format which contains various values and attributes. RADIUS::Packet provides an interface to turn RADIUS packets into Perl data structures and vice-versa.
RADIUS::Packet does not provide functions for obtaining RADIUS packets from the network. A simple network RADIUS server is provided as an example at the end of this document. Also, a RADIUS::Server module is under development which will simplify the interface.
<<lessSYNOPSIS
use RADIUS::Packet;
use RADIUS::Dictionary;
my $d = new RADIUS::Dictionary "/etc/radius/dictionary";
my $p = new RADIUS::Packet $d, $data;
$p->dump;
if ($p->attr(User-Name eq "lwall") {
my $resp = new RADIUS::Packet $d;
$resp->set_code(Access-Accept);
$resp->set_identifier($p->identifier);
$resp->set_authenticator($p->authenticator);
$resp->set_attr(Reply-Message) = "Welcome, Larry!rn";
my $respdat = auth_resp($resp->pack, "mysecret");
...
RADIUS (RFC2138) specifies a binary packet format which contains various values and attributes. RADIUS::Packet provides an interface to turn RADIUS packets into Perl data structures and vice-versa.
RADIUS::Packet does not provide functions for obtaining RADIUS packets from the network. A simple network RADIUS server is provided as an example at the end of this document. Also, a RADIUS::Server module is under development which will simplify the interface.
Download (0.042MB)
Added: 2007-04-11 License: Perl Artistic License Price:
931 downloads
Bio::Factory::SequenceFactoryI 1.4
Bio::Factory::SequenceFactoryI is a Perl interface that allows for generic building of sequences in factories. more>>
Bio::Factory::SequenceFactoryI is a Perl interface that allows for generic building of sequences in factories which create sequences (like SeqIO).
SYNOPSIS
# do not use this object directly it is an interface # get a Bio::Factory::SequenceFactoryI object like
use Bio::Seq::SeqFactory;
my $seqbuilder = new Bio::Seq::SeqFactory(type => Bio::PrimarySeq);
my $seq = $seqbuilder->create(-seq => ACTGAT,
-display_id => exampleseq);
print "seq is a ", ref($seq), "n";
A generic way to build Sequence objects via a pluggable factory. This reduces the amount of code that looks like
if( $type eq Bio::PrimarySeq ) { ... }
elsif( $type eq Bio::Seq::RichSeq ) { ... }
<<lessSYNOPSIS
# do not use this object directly it is an interface # get a Bio::Factory::SequenceFactoryI object like
use Bio::Seq::SeqFactory;
my $seqbuilder = new Bio::Seq::SeqFactory(type => Bio::PrimarySeq);
my $seq = $seqbuilder->create(-seq => ACTGAT,
-display_id => exampleseq);
print "seq is a ", ref($seq), "n";
A generic way to build Sequence objects via a pluggable factory. This reduces the amount of code that looks like
if( $type eq Bio::PrimarySeq ) { ... }
elsif( $type eq Bio::Seq::RichSeq ) { ... }
Download (4.7MB)
Added: 2006-09-02 License: Perl Artistic License Price:
1147 downloads
Bio::Factory::SeqAnalysisParserFactoryI 1.4
Bio::Factory::SeqAnalysisParserFactoryI is a Perl interface describing objects capable of creating SeqAnalysisParserI parsers. more>>
Bio::Factory::SeqAnalysisParserFactoryI is a Perl interface describing objects capable of creating SeqAnalysisParserI compliant parsers.
SYNOPSIS
# initialize an object implementing this interface, e.g.
$factory = Bio::Factory::SeqAnalysisParserFactory->new();
# obtain a parser object
$parser = $factory->get_parser(-input=>$inputobj,
-params=>[@params],
-method => $method);
# $parser is an object implementing Bio::SeqAnalysisParserI
# annotate sequence with features produced by parser
while(my $feat = $parser->next_feature()) {
$seq->add_SeqFeature($feat);
}
This is an interface for factory classes capable of instantiating SeqAnalysisParserI implementing parsers.
The concept behind the interface is a generic analysis result parsing in high-throughput automated sequence annotation pipelines. See Bio::SeqAnalysisParserI for more documentation of this concept.
<<lessSYNOPSIS
# initialize an object implementing this interface, e.g.
$factory = Bio::Factory::SeqAnalysisParserFactory->new();
# obtain a parser object
$parser = $factory->get_parser(-input=>$inputobj,
-params=>[@params],
-method => $method);
# $parser is an object implementing Bio::SeqAnalysisParserI
# annotate sequence with features produced by parser
while(my $feat = $parser->next_feature()) {
$seq->add_SeqFeature($feat);
}
This is an interface for factory classes capable of instantiating SeqAnalysisParserI implementing parsers.
The concept behind the interface is a generic analysis result parsing in high-throughput automated sequence annotation pipelines. See Bio::SeqAnalysisParserI for more documentation of this concept.
Download (4.7MB)
Added: 2007-08-16 License: Perl Artistic License Price:
799 downloads
Teamspeak 0.3
Teamspeak is a Perl interface to administrate Teamspeak-Server. more>>
Teamspeak is a Perl interface to administrate Teamspeak-Server.
SYNOPSIS
use Teamspeak;
my $t = Teamspeak->new(
timeout => ,
port => ,
host =>
);
You can connect to a Teamspeak-Server in four different Connection-Types: 1. Telnet 2. MySQL or MySQL::Lite 3. Web-Frontend 4. Teamspeak-Client is using UDP
Every Connection-Type can only use a part of all available Methods.
<<lessSYNOPSIS
use Teamspeak;
my $t = Teamspeak->new(
timeout => ,
port => ,
host =>
);
You can connect to a Teamspeak-Server in four different Connection-Types: 1. Telnet 2. MySQL or MySQL::Lite 3. Web-Frontend 4. Teamspeak-Client is using UDP
Every Connection-Type can only use a part of all available Methods.
Download (0.026MB)
Added: 2007-05-25 License: Perl Artistic License Price:
895 downloads
DCE::Login 0.21
DCE::Login is a Perl extension for interfacing to the DCE login API. more>>
DCE::Login is a Perl extension for interfacing to the DCE login API.
SYNOPSIS
use DCE::Login;
my($l, $status) = DCE::Login->get_current_context;
my $pwent = $l->get_pwent;
Perl extension for interfacing to the DCE login API.
<<lessSYNOPSIS
use DCE::Login;
my($l, $status) = DCE::Login->get_current_context;
my $pwent = $l->get_pwent;
Perl extension for interfacing to the DCE login API.
Download (0.035MB)
Added: 2007-04-16 License: Perl Artistic License Price:
921 downloads
Locale::TextDomain 1.16
Locale::TextDomain is a Perl Interface to Uniforum Message Translation. more>>
Locale::TextDomain is a Perl Interface to Uniforum Message Translation.
SYNOPSIS
use Locale::TextDomain (my-package, @locale_dirs);
use Locale::TextDomain qw (my-package);
my $translated = __"Hello World!n";
my $alt = $__{"Hello World!n"};
my $alt2 = $__->{"Hello World!n"};
my @list = (N__"Hello", N__"World");
my @plurals = (N__ ("One world", "{num} worlds"),
N__ ("1 file", "%d files"));
my $question = __x ("Error reading file {file}: {err}",
file => $file, err => $!);
printf (__n ("one file read",
"%d files read",
$num_files),
$num_files);
print __nx ("one file read", "{num} files read", $num_files,
num => $num_files);
The module Locale::TextDomain(3pm) provides a high-level interface to Perl message translation.
Textdomains
When your request a translation for a given string, the system used in libintl-perl follows a standard strategy to find a suitable message catalog containing the translation: Unless you explicitely define a name for the message catalog, libintl-perl will assume that your catalog is called messages (unless you have changed the default value to something else via Locale::Messages(3pm), method textdomain()).
You might think that his default strategy leaves room for optimization and you are right. It would be a lot smarter if multiple software packages, all with their individual message catalogs, could be installed on one system, and it should also be possible that third-party components of your software (like Perl modules) can load their message catalogs, too, without interfering with yours.
The solution is clear, you have to assign a unique name to your message database, and you have to specify that name at run-time. That unique name is the so-called textdomain of your software package. The name is actually arbitrary but you should follow these best-practice guidelines to ensure maximum interoperability:
File System Safety
In practice, textdomains get mapped into file names, and you should therefore make sure that the textdomain you choose is a valid filename on every system that will run your software.
Case-sensitivity
Textdomains are always case-sensitive (i. e. Package and PACKAGE are not the same). However, since the message catalogs will be stored on file systems, that may or may not distinguish case when looking up file names, you should avoid potential conflicts here.
Textdomain Should Match CPAN Name
If your software is listed as a module on CPAN, you should simply choose the name on CPANS as your textdomain. The textdomain for libintl-perl is hence libintl-perl. But please replace all periods (.) in your package name with an underscore because ...
Internet Domain Names as a Fallback
... if your software is not a module listed on CPAN, as a last resort you should use the Java(tm) package scheme, i. e. choose an internet domain that you are owner of (or ask the owner of an internet domain) and concatenate your preferred textdomain with the reversed internet domain. Example: Your company runs the web-site www.foobar.org and is the owner of the domain foobar.org. The textdomain for your companys software barfoos should hence be org.foobar.barfoos.
If your software is likely to be installed in different versions on the same system, it is probably a good idea to append some version information to your textdomain.
Other systems are less strict with the naming scheme for textdomains but the phenomena known as Perl is actually a plethora of small, specialized modules and it is probably wisest to postulate some namespace model in order to avoid chaos.
Binding textdomains to directories
Once the system knows the textdomain of the message that you want to get translated into the users language, it still has to find the correct message catalog. By default, libintl-perl will look up the string in the translation database found in the directories /usr/share/locale and /usr/local/share/locale (in that order).
It is neither guaranteed that these directories exist on the target machine, nor can you be sure that the installation routine has write access to these locations. You can therefore instruct libintl-perl to search other directories prior to the default directories. Specifying a differnt search directory is called binding a textdomain to a directory.
Locale::TextDomain extends the default strategy by a Perl specific approach. Unless told otherwise, it will look for a directory LocaleData in every component found in the standard include path @INC and check for a database containing the message for your textdomain there. Example: If the path /usr/lib/perl/5.8.0/site_perl is in your @INC, you can install your translation files in /usr/lib/perl/5.8.0/site_perl/LocaleData, and they will be found at run-time.
<<lessSYNOPSIS
use Locale::TextDomain (my-package, @locale_dirs);
use Locale::TextDomain qw (my-package);
my $translated = __"Hello World!n";
my $alt = $__{"Hello World!n"};
my $alt2 = $__->{"Hello World!n"};
my @list = (N__"Hello", N__"World");
my @plurals = (N__ ("One world", "{num} worlds"),
N__ ("1 file", "%d files"));
my $question = __x ("Error reading file {file}: {err}",
file => $file, err => $!);
printf (__n ("one file read",
"%d files read",
$num_files),
$num_files);
print __nx ("one file read", "{num} files read", $num_files,
num => $num_files);
The module Locale::TextDomain(3pm) provides a high-level interface to Perl message translation.
Textdomains
When your request a translation for a given string, the system used in libintl-perl follows a standard strategy to find a suitable message catalog containing the translation: Unless you explicitely define a name for the message catalog, libintl-perl will assume that your catalog is called messages (unless you have changed the default value to something else via Locale::Messages(3pm), method textdomain()).
You might think that his default strategy leaves room for optimization and you are right. It would be a lot smarter if multiple software packages, all with their individual message catalogs, could be installed on one system, and it should also be possible that third-party components of your software (like Perl modules) can load their message catalogs, too, without interfering with yours.
The solution is clear, you have to assign a unique name to your message database, and you have to specify that name at run-time. That unique name is the so-called textdomain of your software package. The name is actually arbitrary but you should follow these best-practice guidelines to ensure maximum interoperability:
File System Safety
In practice, textdomains get mapped into file names, and you should therefore make sure that the textdomain you choose is a valid filename on every system that will run your software.
Case-sensitivity
Textdomains are always case-sensitive (i. e. Package and PACKAGE are not the same). However, since the message catalogs will be stored on file systems, that may or may not distinguish case when looking up file names, you should avoid potential conflicts here.
Textdomain Should Match CPAN Name
If your software is listed as a module on CPAN, you should simply choose the name on CPANS as your textdomain. The textdomain for libintl-perl is hence libintl-perl. But please replace all periods (.) in your package name with an underscore because ...
Internet Domain Names as a Fallback
... if your software is not a module listed on CPAN, as a last resort you should use the Java(tm) package scheme, i. e. choose an internet domain that you are owner of (or ask the owner of an internet domain) and concatenate your preferred textdomain with the reversed internet domain. Example: Your company runs the web-site www.foobar.org and is the owner of the domain foobar.org. The textdomain for your companys software barfoos should hence be org.foobar.barfoos.
If your software is likely to be installed in different versions on the same system, it is probably a good idea to append some version information to your textdomain.
Other systems are less strict with the naming scheme for textdomains but the phenomena known as Perl is actually a plethora of small, specialized modules and it is probably wisest to postulate some namespace model in order to avoid chaos.
Binding textdomains to directories
Once the system knows the textdomain of the message that you want to get translated into the users language, it still has to find the correct message catalog. By default, libintl-perl will look up the string in the translation database found in the directories /usr/share/locale and /usr/local/share/locale (in that order).
It is neither guaranteed that these directories exist on the target machine, nor can you be sure that the installation routine has write access to these locations. You can therefore instruct libintl-perl to search other directories prior to the default directories. Specifying a differnt search directory is called binding a textdomain to a directory.
Locale::TextDomain extends the default strategy by a Perl specific approach. Unless told otherwise, it will look for a directory LocaleData in every component found in the standard include path @INC and check for a database containing the message for your textdomain there. Example: If the path /usr/lib/perl/5.8.0/site_perl is in your @INC, you can install your translation files in /usr/lib/perl/5.8.0/site_perl/LocaleData, and they will be found at run-time.
Download (0.45MB)
Added: 2007-01-24 License: Perl Artistic License Price:
1015 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 perl interface livingston portmaster 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