[29636] in Perl-Users-Digest
Perl-Users Digest, Issue: 880 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue Sep 25 03:09:43 2007
Date: Tue, 25 Sep 2007 00:09:08 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Tue, 25 Sep 2007 Volume: 11 Number: 880
Today's topics:
Re: Calling a 32 bit Library from 64 bit perl extension <ben@morrow.me.uk>
import fails if package namespace != module path neurocline@gmail.com
Re: import fails if package namespace != module path xhoster@gmail.com
Re: import fails if package namespace != module path <ben@morrow.me.uk>
Re: import fails if package namespace != module path <ben@morrow.me.uk>
Re: Important Research Project sa.parrish@gmail.com
new CPAN modules on Tue Sep 25 2007 (Randal Schwartz)
Parse::Readelf 0.01 - parse the output of readelf <nospam.comp.lang.perl.announce.070924@dorner.claranet.de>
Re: Perl module for "Instant Messaging" <waveright@gmail.com>
Question about this data structure... <jegan472@comcast.net>
Re: Question about this data structure... <bigiain@mightymedia.com.au>
Re: Question about this data structure... <wahab@chemie.uni-halle.de>
Re: re-launch piped external program <rihad@mail.ru>
Re: re-launch piped external program xhoster@gmail.com
Re: re-launch piped external program <paduille.4061.mumia.w+nospam@earthlink.net>
Re: re-launch piped external program <rihad@mail.ru>
Re: re-launch piped external program <rihad@mail.ru>
Re: Using (?{}) code blocks and $^R <clint.olsen@gmail.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Mon, 24 Sep 2007 23:11:42 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Calling a 32 bit Library from 64 bit perl extension
Message-Id: <u9pls4-83e.ln1@osiris.mauzo.dyndns.org>
Quoth sstoural@gmail.com:
> Because of an OS port, I'm faced with a situation where a 64-bit
> version of perl (5.8.8) is installed on a Suse Linux 10 server that
> needs to call a proprietary 32 bit library. Is there a way to create
> a 32 bit extension from a 64 bit version of Perl by forcing xsubpp to
> use the 32 bit compiler?
You can set the C compiler to use with the CC MakeMaker parameter, and
the linker with LD. I can't see an easy way to do this with either
Module::Build (perhaps config(cc => $cc) would work?) or
Module::Install. If instead you want the same compiler but with
different options you can put them in the CFLAGS parameter.
However, I would expect you would get fairly serious link problems,
either when linking the .so or when loading it into perl. I don't really
know anything about 64bit systems (never having owned one), but is it
even possible to load a 32bit library from a 64bit program? Don't they
require different versions of libc?
Ben
------------------------------
Date: Mon, 24 Sep 2007 13:48:19 -0700
From: neurocline@gmail.com
Subject: import fails if package namespace != module path
Message-Id: <1190666899.429411.74170@g4g2000hsf.googlegroups.com>
I'm struggling with something. If I have a module, but the package
namespace inside the module doesn't match the path passed to use, then
import (with @EXPORT or @EXPORT_OK) doesn't work. There's something I
don't understand, obviously, but I don't know where the fault is.
If I do
use Extra::Bits::Name qw(func);
and my package is just in "package Name", then I get "Undefined
subroutine &main::fucn" when I try to access just "func" ("Name::func"
works fine). But if I rearranged paths so I can do "use Name
qw(func)", then everything works.
For example, I have a package contained in goober.pm that looks like
this
package goober;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(gooberme);
our $VERSION = '1.00';
sub gooberme
{
print STDERR "yeppers\n";
}
and I have a main program that looks like this
#!/usr/bin/perl
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../../CorePerl";
use Blizzard::goober qw(gooberme);
gooberme();
then I get "Undefined subroutine &main::gooberme called at ...".
There's a reason why I can't just completely rearrange my library
paths to make the includes come out matching the package names. Or
rather - I can do that, it will be painful, and I didn't think it
would be necessary.
What am I missing? Obviously I don't understand something about use/
require and how package namespaces work.
------------------------------
Date: 24 Sep 2007 22:26:25 GMT
From: xhoster@gmail.com
Subject: Re: import fails if package namespace != module path
Message-Id: <20070924182627.914$Rq@newsreader.com>
neurocline@gmail.com wrote:
> I'm struggling with something. If I have a module, but the package
> namespace inside the module doesn't match the path passed to use, then
> import (with @EXPORT or @EXPORT_OK) doesn't work. There's something I
> don't understand, obviously, but I don't know where the fault is.
>
> If I do
>
> use Extra::Bits::Name qw(func);
>
> and my package is just in "package Name", then I get "Undefined
> subroutine &main::fucn" when I try to access just "func" ("Name::func"
> works fine). But if I rearranged paths so I can do "use Name
> qw(func)", then everything works.
Your use statement tries to call:
Extra::Bits::Name->import(qw(func))
Since there is presumably no subroutine named Extra::Bits::Name::import and
no array named @Extra::Bits::Name::ISA, then nothing happens. "use"
doesn't look into the used file to see what package it should call import
on, it bases that decision on the filename/module name indicated in the
"use" statement itself.
In this case, I don't see a work around that would be easier or work better
than just rearranging your code to conform to Perl's expectations regarding
module names and package names.
In another context, I'm contemplating of violating that expectation myself,
so that I can change "configuration" simply by changing a use, without
changing anything else.
#use Foo_config1;
use Foo_config2;
my $dir = $Foo::data_dir;
my $dbh = Foo::get_database_handle();
I'm thinking that if I do go this route, I should avoid using import at
all, or at least avoid optional imports, to avoid the problem you see.
Xho
--
-------------------- http://NewsReader.Com/ --------------------
The costs of publication of this article were defrayed in part by the
payment of page charges. This article must therefore be hereby marked
advertisement in accordance with 18 U.S.C. Section 1734 solely to indicate
this fact.
------------------------------
Date: Mon, 24 Sep 2007 23:28:16 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: import fails if package namespace != module path
Message-Id: <09qls4-23g.ln1@osiris.mauzo.dyndns.org>
Quoth neurocline@gmail.com:
> I'm struggling with something. If I have a module, but the package
> namespace inside the module doesn't match the path passed to use, then
> import (with @EXPORT or @EXPORT_OK) doesn't work.
Don't do that then. :)
> There's something I don't understand, obviously, but I don't know
> where the fault is.
use Module ARGS;
is exactly equivalent to
BEGIN {
require Module;
Module->import(ARGS);
}
except that the ->import step is omitted if Module doesn't have an
import method. If you really really want to do this, you can have a
module called Foo/Bar.pm which defines a package Baz by using
BEGIN {
require Foo::Bar;
Baz->import(ARGS);
}
instead of use Foo::Bar... however, I can't help thinking you're going
about this the wrong way. What are you trying to achieve? If you just
want to put the module somewhere else, you can ask perl to search that
somewhere else with
use lib 'somewhere/else';
> If I do
>
> use Extra::Bits::Name qw(func);
>
> and my package is just in "package Name", then I get "Undefined
> subroutine &main::fucn" when I try to access just "func" ("Name::func"
> works fine). But if I rearranged paths so I can do "use Name
> qw(func)", then everything works.
Yes. This is how the Perl module system works. The argument to use is
supposed to be a module name, not a strange way of writing a path; how
that name is resolved to a path is governed by @INC (manipulated with
lib.pm).
> For example, I have a package contained in goober.pm that looks like
> this
>
> package goober;
Don't use lowercase package names. They are reserved for pragmas:
modules that affect how perl parses your program. In general it's best
to name your packages after something reasonably unique, so you don't
get conflicts later; I have a convention of using BMORROW::Blarg::* for
modules used by the Blarg project, where BMORROW is my CPAN id.
> and I have a main program that looks like this
>
> #!/usr/bin/perl
> use strict;
> use warnings;
>
> use FindBin;
> use lib "$FindBin::Bin/../../CorePerl";
Since you already know about lib.pm, what stopped you trying
use lib "$FindBin::Bin/../../CorePerl/Blizzard";
? You can keep both 'use lib' lines, if you have some modules in the
CorePerl directory and some in CorePerl/Blizzard (though that seems like
a bad idea). In general it would be better to use File::Spec to create
that path; however, that may not be important in your case.
Ben
------------------------------
Date: Tue, 25 Sep 2007 00:05:28 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: import fails if package namespace != module path
Message-Id: <oesls4-nfg.ln1@osiris.mauzo.dyndns.org>
Quoth xhoster@gmail.com:
>
> In this case, I don't see a work around that would be easier or work better
> than just rearranging your code to conform to Perl's expectations regarding
> module names and package names.
>
> In another context, I'm contemplating of violating that expectation myself,
> so that I can change "configuration" simply by changing a use, without
> changing anything else.
>
> #use Foo_config1;
> use Foo_config2;
>
> my $dir = $Foo::data_dir;
> my $dbh = Foo::get_database_handle();
>
> I'm thinking that if I do go this route, I should avoid using import at
> all, or at least avoid optional imports, to avoid the problem you see.
Would it not be better to do something like
package Foo;
use warnings;
use strict;
use Carp;
sub import {
shift eq '-config' or croak 'must supply a config!';
my $config = 'Foo::' . shift;
# the 1 works around a bug in some versions of 5.8 :(
eval "require $config; 1" or croak $@;
$config->export_to_level(1, @_);
}
1;
package main;
use Foo -config => 'config1', qw/$data_dir get_database_handle/;
my $dir = $data_dir;
my $dbh = get_database_handle();
__END__
This assumes Foo::* inherits Exporter::import, of course, though that
can be worked around if necessary (it's harder than you might think,
because you have to get caller() right).
Or you could do the thing properly and use OO :). Note that you don't
*have* to have Foo::config1 inherit from Foo: you can have the reverse,
and you can decide what to inherit from at runtime. File::Spec does
this, for example.
package Foo;
use warnings;
use strict;
use Carp;
our @ISA;
sub import {
my $config = "Foo::$_[0]";
eval "require $config; 1" or croak $@;
@ISA = $config;
}
1;
package main;
use Foo config1;
my $dir = Foo->data_dir;
my $dbh = Foo->get_database_handle();
__END__
Ben
------------------------------
Date: Tue, 25 Sep 2007 03:59:41 -0000
From: sa.parrish@gmail.com
Subject: Re: Important Research Project
Message-Id: <1190692781.121747.157290@19g2000hsx.googlegroups.com>
I understand why you are cross posting this problem ... it is because
you are *not* a programmer. You see there is a law about programming
that most non-programmers do not understand - it is this:
***>> Thou shalt not force the language to the application. <<***
I can not tell you the amount of time I have wasted, and money I have
made, from clients that don't understand this and have tried to
disprove this law.
The question you should be asking yourself is what language should I
be using to accomplish all these goals. You always pick the language
for the application, not the other way around.
Unfortunately you have run up against an age old problem ... what
language can I use that will compile to a standalone program (for my
"scientist" that don't wish/can't install an interpreter on their
platform) but will have the flexibility of a simple interpreted
language?
There is no language that can do all that (well, there have been some
half assed attempts to make this problem go away, but obviously, if
they were any good, we would not be having this discussion! Java comes
to mind ) but there is a *system* that will. But it will require some
good programmers and a good deal of time - it's called a web server.
(or what the marketing types call a "web app")
It would be fairly easy to embed some kind of interpreter into a web
site that would allow uploading of code to be tested. Once tested, it
could be moved from a developmental area on the site, to a working
area. This way it would be cross platform, (no screwing around with
".exe" files) and anyone on any platform with a browser could use
it ... sort of a "wiki" system for your code ... Actually, you could
probaly use perl as your interpreter - there are some security issues
to deal with, but it's doable.
I'll send you my bill ... <smile>
now go forth and cross post no more
s
On Aug 30, 9:12 am, "E.D.G." <edgrs...@ix.netcom.com> wrote:
> Important Research Project (Related to computer programming)
>
> Posted by E.D.G. on August 30, 2007 edgrs...@ix.netcom.com
>
> This report is being posted to a number of Internet Newsgroups to see if
> there are any experienced computer programmers who would like to provide
> some assistance with an effort to develop a Perl language computer program.
>
> Interested parties can try contacting me by e-mail or by posting a
> response note to the comp.lang.perl.misc newsgroup. They would need to
> download a recent (free) MSI copy of Perl from the ActiveState Web site and
> get it running on a Windows XP or Vista system.
>
> http://www.activestate.com
>
> I am presently using Perl 5.8.8 but plan to upgrade to the latest
> version as soon as possible. People can use Windows 98 if that is the only
> operating system available. Perl also runs on other operating systems. But
> at this time I specifically need help with the Windows version.
>
> The goal is to have a single Perl program (or modules) perform functions
> that have been done by a sizeable collection of other language programs in
> the past.
>
> Help is presently needed with learning how to get Perl to generate
> charts and also produce standalone .exe copies of itself. The plan is to
> then make those .exe copies available to other scientific researchers around
> the world for free use along with free use updates when they become
> available. If other researchers wish to get Perl running on their own
> computers then they will probably also be given the source code for the
> original program for free use so that they can do their own development
> work.
>
> Perl was originally chosen because it is quite versatile, is a free
> download, and is supported both by ActiveState and quite a few independent
> programmers. So other researchers could get their own versions running
> without having to worry about viruses or cost.
>
> So far the work is fairly advanced. The effort has been underway for at
> least a decade. The core data generation program was formally copyrighted
> several years ago. My present version of Perl will send data to Windows as
> if it were being manually typed into the keyboard (important for controlling
> other programs). And it can directed to respond to most keystrokes even
> when another program is the active one. Unfortunately, Windows also
> presently responds to those keystrokes. And that complicates things a bit.
>
> Not being a professional computer programmer I have been finding it
> difficult to get new features such as a chart generating ability merged with
> and running with Perl. And the entire research project is now being slowed
> as a result. One of my colleagues has done an extensive amount of work with
> Basic. And I even offered to pay him to help with the Perl development
> effort. But after he downloaded a copy of Perl and examined it he decided
> that this would involve too much effort. I have to agree with him.
>
> Once it is possible to create charts and .exe versions the plan is for
> researchers around the world to develop Perl modules for generating a
> variety of data related to sun, moon, planet, ocean tide crest and trough,
> and Solid Earth Tide locations. Most of those data can already be generated
> with other programs. Some of the data are not yet available anywhere as far
> as I am aware. If the effort is unusually successful the Perl program (or
> modules) might eventually be converted to CGI programs that will run at one
> or more Internet Web sites.
------------------------------
Date: Tue, 25 Sep 2007 04:42:15 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Tue Sep 25 2007
Message-Id: <JowqEF.1EEz@zorch.sf-bay.org>
The following modules have recently been added to or updated in the
Comprehensive Perl Archive Network (CPAN). You can install them using the
instructions in the 'perlmodinstall' page included with your Perl
distribution.
Bio-Grep-v0.10.2
http://search.cpan.org/~limaone/Bio-Grep-v0.10.2/
Perl extension for searching in DNA and Protein sequences
----
C-Scan-Constants-1.012
http://search.cpan.org/~icerider/C-Scan-Constants-1.012/
Slurp constants from specified C header (.h) files
----
C-Scan-Constants-1.013
http://search.cpan.org/~icerider/C-Scan-Constants-1.013/
Slurp constants from specified C header (.h) files
----
C-Scan-Constants-1.014
http://search.cpan.org/~icerider/C-Scan-Constants-1.014/
Slurp constants from specified C header (.h) files
----
CGI-Ex-Recipes-0.07
http://search.cpan.org/~berov/CGI-Ex-Recipes-0.07/
A usage example for CGI::Ex::App!
----
CPAN-1.92
http://search.cpan.org/~andk/CPAN-1.92/
query, download and build perl modules from CPAN sites
----
CPAN-Reporter-0.99_12
http://search.cpan.org/~dagolden/CPAN-Reporter-0.99_12/
Adds CPAN Testers reporting to CPAN.pm
----
Catalyst-Controller-reCAPTCHA-0.1
http://search.cpan.org/~zarquon/Catalyst-Controller-reCAPTCHA-0.1/
authenticate people and read books!
----
Catalyst-Controller-reCAPTCHA-0.2
http://search.cpan.org/~zarquon/Catalyst-Controller-reCAPTCHA-0.2/
authenticate people and read books!
----
Catalyst-Plugin-Static-Simple-0.20
http://search.cpan.org/~agrundma/Catalyst-Plugin-Static-Simple-0.20/
Make serving static pages painless.
----
CatalystX-Controller-reCAPTCHA-0.1
http://search.cpan.org/~zarquon/CatalystX-Controller-reCAPTCHA-0.1/
authenticate people and read books!
----
CatalystX-RoseIntegrator-0.02
http://search.cpan.org/~midnite/CatalystX-RoseIntegrator-0.02/
Catalyst/Rose Base Controller
----
Class-Null-1.06
http://search.cpan.org/~marcel/Class-Null-1.06/
Implements the Null Class design pattern
----
Coat-0.1_0.4
http://search.cpan.org/~sukria/Coat-0.1_0.4/
A light and self-dependent meta-class for Perl5
----
Crypt-SMIME-0.07
http://search.cpan.org/~mikage/Crypt-SMIME-0.07/
S/MIME message signing, verification, encryption and decryption 1
----
DBIx-Class-HTML-FormFu-0.01003
http://search.cpan.org/~cfranks/DBIx-Class-HTML-FormFu-0.01003/
Fill a HTML::FormFu form from the database and vice-versa
----
DBIx-Class-UUIDColumns-0.02002
http://search.cpan.org/~claco/DBIx-Class-UUIDColumns-0.02002/
Implicit uuid columns
----
DBIx-Perform-0.693
http://search.cpan.org/~bkchapin/DBIx-Perform-0.693/
Informix Perform(tm) emulator
----
DBM-Deep-1.0003
http://search.cpan.org/~rkinyon/DBM-Deep-1.0003/
A pure perl multi-level hash/array DBM that supports transactions
----
DateTime-Format-Natural-0.40
http://search.cpan.org/~schubiger/DateTime-Format-Natural-0.40/
Create machine readable date/time with natural parsing logic
----
Devel-Declare-0.001000
http://search.cpan.org/~mstrout/Devel-Declare-0.001000/
----
Devel-PerlySense-0.01_23
http://search.cpan.org/~johanl/Devel-PerlySense-0.01_23/
IntelliSense for Perl
----
Devel-PerlySense-0.01_24
http://search.cpan.org/~johanl/Devel-PerlySense-0.01_24/
IntelliSense for Perl
----
Email-Abstract-2.133_04
http://search.cpan.org/~rjbs/Email-Abstract-2.133_04/
unified interface to mail representations
----
Encode-Arabic-1.6
http://search.cpan.org/~smrz/Encode-Arabic-1.6/
Encodings of Arabic
----
Encode-IBM-0.06
http://search.cpan.org/~audreyt/Encode-IBM-0.06/
IBM-specific encoding mappings
----
Encode-Mapper-1.6
http://search.cpan.org/~smrz/Encode-Mapper-1.6/
Intuitive, yet efficient mappings for Encode
----
File-Stat-Moose-0.0101
http://search.cpan.org/~dexter/File-Stat-Moose-0.0101/
Status info for a file - Moose-based
----
GD-Graph-smoothlines-1.4
http://search.cpan.org/~andrei/GD-Graph-smoothlines-1.4/
----
Geo-GoogleEarth-Document-0.06
http://search.cpan.org/~mrdvt/Geo-GoogleEarth-Document-0.06/
Creates a GoogleEarth KML Document
----
Grid-Transform-0.07
http://search.cpan.org/~gray/Grid-Transform-0.07/
fast grid transformations
----
HTTP-File-4.0
http://search.cpan.org/~tbone/HTTP-File-4.0/
Routines to deal with HTML input type file (HTTP file upload).
----
IBM-LoadLeveler-1.06
http://search.cpan.org/~hawkinsm/IBM-LoadLeveler-1.06/
Perl Access to IBM LoadLeveler API
----
IO-AIO-2.41
http://search.cpan.org/~mlehmann/IO-AIO-2.41/
Asynchronous Input/Output
----
LaTeX-Driver-0.03
http://search.cpan.org/~andrewf/LaTeX-Driver-0.03/
Latex driver
----
LaTeX-Driver-0.04
http://search.cpan.org/~andrewf/LaTeX-Driver-0.04/
Latex driver
----
Language-MuldisD-0.8.0
http://search.cpan.org/~duncand/Language-MuldisD-0.8.0/
Formal spec of Muldis D relational DBMS lang
----
Language-MuldisD-0.8.1
http://search.cpan.org/~duncand/Language-MuldisD-0.8.1/
Formal spec of Muldis D relational DBMS lang
----
Lemonldap-Config-Parameters-3.2.1
http://search.cpan.org/~egerman/Lemonldap-Config-Parameters-3.2.1/
Backend of configuration for lemonldap SSO system
----
Lemonldap-Handlers-Generic-3.5.1
http://search.cpan.org/~egerman/Lemonldap-Handlers-Generic-3.5.1/
Perl extension for Lemonldap sso system
----
Lemonldap-Handlers-Generic-3.5.2
http://search.cpan.org/~egerman/Lemonldap-Handlers-Generic-3.5.2/
Perl extension for Lemonldap sso system
----
Lingua-JP-Kanjidic-1.1
http://search.cpan.org/~petdance/Lingua-JP-Kanjidic-1.1/
Parse Jim Breen's kanji dictionary
----
Lingua-JP-Kanjidic-1.1
http://search.cpan.org/~simon/Lingua-JP-Kanjidic-1.1/
Parse Jim Breen's kanji dictionary
----
Math-Currency-0.46
http://search.cpan.org/~jpeacock/Math-Currency-0.46/
Exact Currency Math with Formatting and Rounding
----
MediaWiki-1.12
http://search.cpan.org/~spectrum/MediaWiki-1.12/
OOP MediaWiki engine client
----
Mobile-WURFL-0.01
http://search.cpan.org/~valdez/Mobile-WURFL-0.01/
List capabilities of mobile handsets using WURFL data
----
Module-Install-StandardTests-0.02
http://search.cpan.org/~marcel/Module-Install-StandardTests-0.02/
generate standard tests for installation
----
Module-PluginFinder-0.02
http://search.cpan.org/~pevans/Module-PluginFinder-0.02/
automatically choose the most appropriate plugin module.
----
MojoMojo-0.999007
http://search.cpan.org/~mramberg/MojoMojo-0.999007/
A Catalyst & DBIx::Class powered Wiki.
----
Muldis-DB-0.4.0
http://search.cpan.org/~duncand/Muldis-DB-0.4.0/
Full-featured truly relational DBMS in Perl
----
Nagios-Plugin-0.21
http://search.cpan.org/~tonvoon/Nagios-Plugin-0.21/
A family of perl modules to streamline writing Nagios plugins
----
Net-Traceroute-1.10
http://search.cpan.org/~hag/Net-Traceroute-1.10/
traceroute(1) functionality in perl
----
NetHack-PriceID-0.01
http://search.cpan.org/~sartak/NetHack-PriceID-0.01/
identify items using shopkeepers
----
NetHack-PriceID-0.02
http://search.cpan.org/~sartak/NetHack-PriceID-0.02/
identify NetHack items using shopkeepers
----
NetHack-PriceID-0.03
http://search.cpan.org/~sartak/NetHack-PriceID-0.03/
identify NetHack items using shopkeepers
----
POE-Component-Server-IRC-1.22
http://search.cpan.org/~bingos/POE-Component-Server-IRC-1.22/
A fully event-driven networkable IRC server daemon module.
----
POE-Loop-Prima-1.01
http://search.cpan.org/~karasik/POE-Loop-Prima-1.01/
a bridge that supports Prima event loop from POE
----
Parse-Readelf-0.01
http://search.cpan.org/~dorner/Parse-Readelf-0.01/
handle readelf's output with a class
----
PlotCalendar-1.2
http://search.cpan.org/~ajackson/PlotCalendar-1.2/
----
Pod-POM-Web-1.08
http://search.cpan.org/~dami/Pod-POM-Web-1.08/
HTML Perldoc server
----
Pod-Xhtml-1.59
http://search.cpan.org/~bbc/Pod-Xhtml-1.59/
Generate well-formed XHTML documents from POD format documentation
----
RT-Extension-QuickDelete-0.03
http://search.cpan.org/~jesse/RT-Extension-QuickDelete-0.03/
Adds q "quick delete" button" to RT's standard ticket search interface
----
RT-OnlineDocs-0.05
http://search.cpan.org/~jesse/RT-OnlineDocs-0.05/
----
Remind-Parser-0.01
http://search.cpan.org/~nkuitse/Remind-Parser-0.01/
parse `remind -lp' output
----
Remind-Parser-0.02
http://search.cpan.org/~nkuitse/Remind-Parser-0.02/
parse `remind -lp' output
----
SOAP-WSDL-1.25
http://search.cpan.org/~mkutter/SOAP-WSDL-1.25/
SOAP with WSDL support
----
STAFService-0.05
http://search.cpan.org/~semuelf/STAFService-0.05/
Perl extension for writing STAF Services easily.
----
Search-Indexer-0.75
http://search.cpan.org/~dami/Search-Indexer-0.75/
full-text indexer
----
Sendmail_M4.0.23
http://search.cpan.org/~cml/Sendmail_M4.0.23/
----
Sendmail_M4.0.23a
http://search.cpan.org/~cml/Sendmail_M4.0.23a/
----
Sendmail_M4.0.24
http://search.cpan.org/~cml/Sendmail_M4.0.24/
----
Sendmail_M4.0.25
http://search.cpan.org/~cml/Sendmail_M4.0.25/
----
Sphinx-Search-0.06
http://search.cpan.org/~jjschutz/Sphinx-Search-0.06/
Sphinx search engine API Perl client
----
Task-Perl-Critic-IncludingOptionalDependencies-v1.001
http://search.cpan.org/~elliotjs/Task-Perl-Critic-IncludingOptionalDependencies-v1.001/
Install everything Perl::Critic plus its optional dependencies.
----
Term-Menus-1.29
http://search.cpan.org/~reedfish/Term-Menus-1.29/
Create Powerful Terminal, Console and CMD Enviroment Menus
----
Test-Unit-Lite-0.04
http://search.cpan.org/~dexter/Test-Unit-Lite-0.04/
Unit testing without external dependencies
----
Test-Unit-Lite-0.0401
http://search.cpan.org/~dexter/Test-Unit-Lite-0.0401/
Unit testing without external dependencies
----
Text-DHCPLeases-v0.1
http://search.cpan.org/~cvicente/Text-DHCPLeases-v0.1/
Parse DHCP Leases file from ISC dhcpd.
----
Tie-Toggle-1.08
http://search.cpan.org/~bdfoy/Tie-Toggle-1.08/
False and true, alternately, ad infinitum.
----
Tk-JBrowseEntry-4.70
http://search.cpan.org/~turnerjw/Tk-JBrowseEntry-4.70/
Full-featured "Combo-box" (Text-entry combined with drop-down listbox.
----
Tk-WidgetDump-1.35
http://search.cpan.org/~srezic/Tk-WidgetDump-1.35/
dump the widget hierarchie
----
Tree-Suffix-0.19
http://search.cpan.org/~gray/Tree-Suffix-0.19/
Perl interface to the libstree library.
----
WWW-Mechanize-Plugin-AutoWrite-0.01
http://search.cpan.org/~jkutej/WWW-Mechanize-Plugin-AutoWrite-0.01/
WWW::Mechanize plugin to automaticaly write fetched page content to a file
----
WWW-Ofoto-1.21
http://search.cpan.org/~mgrimes/WWW-Ofoto-1.21/
A module to interact with the Ofoto (now Kodakgallery) website
----
WWW-Wikevent-Bot-0.2.0
http://search.cpan.org/~markj/WWW-Wikevent-Bot-0.2.0/
----
Workflow-0.29
http://search.cpan.org/~jonasbn/Workflow-0.29/
Simple, flexible system to implement workflows
----
autobox-1.20
http://search.cpan.org/~chocolate/autobox-1.20/
use builtin datatypes as first-class objects
----
autobox-1.21
http://search.cpan.org/~chocolate/autobox-1.21/
use builtin datatypes as first-class objects
----
autobox-1.22
http://search.cpan.org/~chocolate/autobox-1.22/
use builtin datatypes as first-class objects
If you're an author of one of these modules, please submit a detailed
announcement to comp.lang.perl.announce, and we'll pass it along.
This message was generated by a Perl program described in my Linux
Magazine column, which can be found on-line (along with more than
200 other freely available past column articles) at
http://www.stonehenge.com/merlyn/LinuxMag/col82.html
print "Just another Perl hacker," # the original
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
------------------------------
Date: Mon, 24 Sep 2007 16:07:21 GMT
From: Thomas Dorner <nospam.comp.lang.perl.announce.070924@dorner.claranet.de>
Subject: Parse::Readelf 0.01 - parse the output of readelf
Message-Id: <JowGHz.166t@zorch.sf-bay.org>
Hello,
I uploaded an alpha version of a new module to parse the output of
readelf of the GNU binutils suite:
Parse::Readelf is a module to parse the output of readelf from the GNU
binutils suite. At the moment only small parts of the debugging
section are supported to get information about the structure layout of
the variables of a binary object. Also only Dwarf-2 debugging
information is understood.
As this module parses the output of readelf of course you need that.
objdump would work as well but as it's part of the same suite there is
no real reason to use it instead of readelf (at least for Dwarf-2, for
Stabs or other debugging formats there might be a difference).
The test-suite needs the Unix command "cat" to simulate a test run
with prepared output. The test suite also seems to have a problem
with Perl versions 5.6.n.
So far the module(s) are only tested with Perl 5.8 versions on Linux
and Solaris.
Regards, Thomas
--
Address is not read, Reply-To address is only valid for two months!
------------------------------
Date: Tue, 25 Sep 2007 04:16:25 -0000
From: Todd Wade <waveright@gmail.com>
Subject: Re: Perl module for "Instant Messaging"
Message-Id: <1190693785.994099.313900@g4g2000hsf.googlegroups.com>
On Sep 24, 1:05 pm, Ignoramus3778 <ignoramus3...@NOSPAM.3778.invalid>
wrote:
> I want to write a bot (think IRC bot) that would talk to people over
> messengers such as AOL, Yahoo, ICQ, Google Talk etc. The bot is
> "Splotchy Artificial Intelligence robot" from algebra.com. I know that
> there are perl modules that enable individual messengers. What I want
> to find is a module that would encompass all of them, where I set up
> my individual IDs in the config and then just let it chat with people.
>
> Any suggestions?
Pidgin's libpurple should work for you. It provides a single API for
many IM networks, including the ones you mentioned above:
http://developer.pidgin.im/doxygen/dev/html/perl-howto.html
Regards,
trwww
------------------------------
Date: Mon, 24 Sep 2007 20:33:34 -0400
From: James Egan <jegan472@comcast.net>
Subject: Question about this data structure...
Message-Id: <TPqdnd-aNczDymXbnZ2dnUVZ_g6dnZ2d@comcast.com>
I found the data structure below somewhere on the Internet. What type of
data structure is it, and how do I access elements of it? For example,
how would I print FIRST_NAME?
-Thanks
$rec =
{
fields => {
'FIRST_NAME' => 0,
'LAST_NAME' => 1,
'ADDRESS' => 2,
},
encoding => [
[6, 18, 'C'],
[26, 1, 'C'],
[46, 8, 'D'],
],
};
------------------------------
Date: Tue, 25 Sep 2007 15:06:02 +1000
From: Iain Chalmers <bigiain@mightymedia.com.au>
Subject: Re: Question about this data structure...
Message-Id: <bigiain-A2387F.15055925092007@news.usenetmonster.com>
In article <TPqdnd-aNczDymXbnZ2dnUVZ_g6dnZ2d@comcast.com>,
James Egan <jegan472@comcast.net> wrote:
> I found the data structure below somewhere on the Internet. What type of
> data structure is it, and how do I access elements of it? For example,
> how would I print FIRST_NAME?
>
> -Thanks
>
>
> $rec =
> {
> fields => {
> 'FIRST_NAME' => 0,
> 'LAST_NAME' => 1,
> 'ADDRESS' => 2,
> },
>
> encoding => [
> [6, 18, 'C'],
> [26, 1, 'C'],
> [46, 8, 'D'],
> ],
> };
print $rec->{fields}{FIRST_NAME}; #should print 0
also
print $rec->{encoding}[1][0]; #should print 26
cheers,
big
--
"Everything you love, everything meaningful with depth and history,
all passionate authentic experiences will be appropriated, mishandled,
watered down, cheapened, repackaged, marketed and sold to the people
you hate." Mr Jalopy quoting Hooptyrides (on jalopyjunktown.com)
------------------------------
Date: Tue, 25 Sep 2007 08:09:53 +0200
From: Mirco Wahab <wahab@chemie.uni-halle.de>
Subject: Re: Question about this data structure...
Message-Id: <fda8ng$29sg$1@nserver.hrz.tu-freiberg.de>
James Egan wrote:
> I found the data structure below somewhere on the Internet. What type of
> data structure is it, and how do I access elements of it? For example,
> how would I print FIRST_NAME?
> $rec =
> {
> fields => {
> 'FIRST_NAME' => 0,
> 'LAST_NAME' => 1,
> 'ADDRESS' => 2,
> },
>
> encoding => [
> [6, 18, 'C'],
> [26, 1, 'C'],
> [46, 8, 'D'],
> ],
> };
$rec is a hash reference, the hash it addresses
"contains" an array and another hash, so $rec
is a reference to "hash of hash and array " (HoHaA)
fields is, as said, a hash reference and points to a hash,
encoding is an array reference in itself and points to
another "array of arrays" (AoA).
Access to fields:
print $rec->{fields}->{LAST_NAME};
which can be written as
print $rec->{fields}{LAST_NAME};
Access to encoding:
print $rec->{encoding}->[0]->[2]; # array[0][2], 'D'
which can be written as:
print $rec->{encoding}[0][2];
Regards
M.
------------------------------
Date: Mon, 24 Sep 2007 11:29:21 -0700
From: rihad <rihad@mail.ru>
Subject: Re: re-launch piped external program
Message-Id: <1190658561.792581.190390@o80g2000hse.googlegroups.com>
How can I *easily* run an external program, writing commands to it on
a filehandle, and reading its replies from another? Ironically,
reading Perl FAQ [*] left one question unanswered: where's chat2.pl so
much talked about? I'm asking someone to give a modern (v5.8.8)
example.
[*] http://www.faqs.org/faqs/perl-faq/part5/
------------------------------
Date: 24 Sep 2007 19:06:31 GMT
From: xhoster@gmail.com
Subject: Re: re-launch piped external program
Message-Id: <20070924150633.199$k6@newsreader.com>
rihad <rihad@mail.ru> wrote:
> How can I *easily* run an external program, writing commands to it on
> a filehandle, and reading its replies from another?
That is kind of like asking "How can I easily solve the 3 body problem
of classical gravitational mechanics". You can't, in general. In this
case, that is because it depends on the details of how the external command
does its buffering, and whether it produces anything on stderr, and other
things. If all ducks line up in a row properly, then it might be easy, but
unless you know what "properly" means, which itself is not easy, then you
won't know if it is easy or not.
> Ironically,
> reading Perl FAQ [*] left one question unanswered: where's chat2.pl so
> much talked about?
http://search.cpan.org/src/ANDYD/perl5.003_07/lib/chat2.pl
> I'm asking someone to give a modern (v5.8.8)
> example.
Since the v5.8.8 doesn't talk about chat2, you shouldn't expect
to find a 5.8.8 example of chat2.pl.
> [*] http://www.faqs.org/faqs/perl-faq/part5/
That is very very old FAQ.
Xho
--
-------------------- http://NewsReader.Com/ --------------------
The costs of publication of this article were defrayed in part by the
payment of page charges. This article must therefore be hereby marked
advertisement in accordance with 18 U.S.C. Section 1734 solely to indicate
this fact.
------------------------------
Date: Mon, 24 Sep 2007 20:08:20 -0500
From: "Mumia W." <paduille.4061.mumia.w+nospam@earthlink.net>
Subject: Re: re-launch piped external program
Message-Id: <13fgogplm359d70@corp.supernews.com>
On 09/24/2007 01:29 PM, rihad wrote:
> How can I *easily* run an external program, writing commands to it on
> a filehandle, and reading its replies from another? Ironically,
> reading Perl FAQ [*] left one question unanswered: where's chat2.pl so
> much talked about? I'm asking someone to give a modern (v5.8.8)
> example.
>
> [*] http://www.faqs.org/faqs/perl-faq/part5/
>
Use the IPC::Run module.
------------------------------
Date: Mon, 24 Sep 2007 22:43:20 -0700
From: rihad <rihad@mail.ru>
Subject: Re: re-launch piped external program
Message-Id: <1190699000.716318.37580@o80g2000hse.googlegroups.com>
On Sep 25, 6:08 am, "Mumia W." <paduille.4061.mumia.w
+nos...@earthlink.net> wrote:
> On 09/24/2007 01:29 PM, rihad wrote:
>
> > How can I *easily* run an external program, writing commands to it on
> > a filehandle, and reading its replies from another? Ironically,
> > reading Perl FAQ [*] left one question unanswered: where's chat2.pl so
> > much talked about? I'm asking someone to give a modern (v5.8.8)
> > example.
>
> > [*]http://www.faqs.org/faqs/perl-faq/part5/
>
> Use the IPC::Run module.
The aforementioned FAQ claims such open2 usage might cause deadlocks.
But the FAQ's old (written in 1996). Is it still risky to use open2
under FreeBSD?
------------------------------
Date: Mon, 24 Sep 2007 23:28:33 -0700
From: rihad <rihad@mail.ru>
Subject: Re: re-launch piped external program
Message-Id: <1190701713.902038.150790@g4g2000hsf.googlegroups.com>
> The aforementioned FAQ claims such open2 usage might cause deadlocks.
> But the FAQ's old (written in 1996). Is it still risky to use open2
> under FreeBSD?
Answering to myself: yes, it is :) I'm able to set things up with
use IPC::Open2;
my ($ipfw_in, $ipfw_out);
my $ipfw_pid = open2($ipfw_in, $ipfw_out, 'sudo', 'ipfw', '/dev/
stdin');
print $ipfw_out 'add pipe 3 ip from 5.6.7.8 to any out' . "\n";
print <$ipfw_in>;
The last line hangs and deadlocks! Looks like ipfw doesn't flush its
output. Luckily its sources are right here ready to be hacked.
------------------------------
Date: Mon, 24 Sep 2007 16:18:34 -0500
From: Clint Olsen <clint.olsen@gmail.com>
Subject: Re: Using (?{}) code blocks and $^R
Message-Id: <slrnffgada.2p2n.clint.olsen@belle.0lsen.net>
On 2007-09-21, Brian McCauley <nobull67@gmail.com> wrote:
> IMNSO $^R was a special variable too far. Code in (?{}) is already
> able to set dynamically scoped (package variables) and that really
> should be enough to propagate information from one to another. It's
> certainly much clearer what's going on with explicit variables.
I had tried that at first, but doing this forces me to use lexically scoped
'globals' in my code or I have to move my behemoth patterns into the
subroutine scope, and I wasn't entirely sure whether Perl would in fact
build up and tear down these REs every time the subroutine was called. I
never got a clarification on that one, so I marched onward since the
results of $^R and $^N were sane after my other patterns. It also just
/seemed/ weird to have to set variables explicitly. The localization
examples in the manpage weren't all that clear to me. It looked to me as
if even if the pattern matched that you'd pop the stack out and lose those
intermediate values anyway, so that's why I tried to use $^R. In essence
it appeared that info could be passed top down but results couldn't be
handed back (bottom up)?
Thanks,
-Clint
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc. For subscription or unsubscription requests, send
#the single line:
#
# subscribe perl-users
#or:
# unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V11 Issue 880
**************************************