[30714] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 1959 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Nov 3 03:09:41 2008

Date: Mon, 3 Nov 2008 00:09:07 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Mon, 3 Nov 2008     Volume: 11 Number: 1959

Today's topics:
    Re: /^From:.*?([\w.-]+@[\w.-]+)/ sln@netherlands.com
    Re: /^From:.*?([\w.-]+@[\w.-]+)/ <xiaoxia2005a@yahoo.com>
    Re: /^From:.*?([\w.-]+@[\w.-]+)/ <sbryce@scottbryce.com>
    Re: /^From:.*?([\w.-]+@[\w.-]+)/ <tim@burlyhost.com>
        A couple of questions regarding runtime generation of R sln@netherlands.com
    Re: A couple of questions regarding runtime generation  <mgjv@heliotrope.com.au>
    Re: A couple of questions regarding runtime generation  <tadmc@seesig.invalid>
    Re: A couple of questions regarding runtime generation  <tim@burlyhost.com>
        How to get the memory address of a Perl variable in XS <u8526505@gmail.com>
    Re: if ($line == $count++) sln@netherlands.com
    Re: if ($line == $count++) <tadmc@seesig.invalid>
        new CPAN modules on Mon Nov  3 2008 (Randal Schwartz)
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Mon, 03 Nov 2008 01:34:07 GMT
From: sln@netherlands.com
Subject: Re: /^From:.*?([\w.-]+@[\w.-]+)/
Message-Id: <7njsg4ledg4se1p33mivpr2aaojldvbmtb@4ax.com>

On Sat, 1 Nov 2008 06:54:59 -0700 (PDT), April <xiaoxia2005a@yahoo.com> wrote:

[snip]

>Thanks Tim, Tad and Jue .. now it's much clear to me!  One thing left
>is whether .*? simply means anything appears before (...)?  April

Since you are asking this question, it is not clear to you at all April.

Look at that expression. '[\w.-]+@' is a hard anchor. That must be satisfied
first, especially the '@'.

The fact is '[\w.-]+' can be satisfied with a single character.
The other fact is '.*?' can get by with one character but it is in the bottom
of precedence.
However '.*' wants to take as much of the string as possible, but it is
subserviant to '[\w.-]+@'.

Here is the heirchy from top down:

1 - '@' is GOD
2 - '[\w.-]+' is CHRIST
3 - '.*' is the greedy HOLY GHOST
4 - '.*?' is the single ANGEL

use strict;
use warnings;

my $email = "From: -2ame\@yahoo.com";

if ($email =~ /^From:.*?([\w.-]+@[\w.-]+)/)
{
	print "$1\n";
}
if ($email =~ /^From:.*([\w.-]+@[\w.-]+)/)
{
	print "$1\n";
}
__END__

church services produce:

-2ame\@yahoo.com
e\@yahoo.com


Please notice the regexp distinctions that produced these results.
As well, notice that '.*?' was put in as a trap to filter out exterraneous
characters that are not alpha numeric.

Let us pray.
sln



------------------------------

Date: Sun, 2 Nov 2008 20:03:20 -0800 (PST)
From: April <xiaoxia2005a@yahoo.com>
Subject: Re: /^From:.*?([\w.-]+@[\w.-]+)/
Message-Id: <86ccbd27-95ef-45c7-8ac8-7fa1f86e3215@d36g2000prf.googlegroups.com>

On Nov 2, 8:34=A0pm, s...@netherlands.com wrote:
>
> Since you are asking this question, it is not clear to you at all April.
>

you really know me, however with your inspiration, I'm pretty sure
I'll be getting better sooner.

> Look at that expression. '[\w.-]+@' is a hard anchor. That must be satisf=
ied
> first, especially the '@'.

not sure I agree with this and the following Church ranking thing ...

>
> The fact is '[\w.-]+' can be satisfied with a single character.

agree.

> The other fact is '.*?' can get by with one character but it is in the bo=
ttom
> of precedence.

believe '.*?' can get by with 0 character too.

> However '.*' wants to take as much of the string as possible,

agree, but will still check to see whether that will allow the
following [\w.-] to be satisfied.

>
> Here is the heirchy from top down:
>
> 1 - '@' is GOD
> 2 - '[\w.-]+' is CHRIST
> 3 - '.*' is the greedy HOLY GHOST
> 4 - '.*?' is the single ANGEL
>
> use strict;
> use warnings;
>
> my $email =3D "From: -2ame\@yahoo.com";
>
> if ($email =3D~ /^From:.*?([\w.-]+@[\w.-]+)/)
> {
> =A0 =A0 =A0 =A0 print "$1\n";}
>
> if ($email =3D~ /^From:.*([\w.-]+@[\w.-]+)/)
> {
> =A0 =A0 =A0 =A0 print "$1\n";}
>
> __END__
>
> church services produce:
>
> -2ame\@yahoo.com
> e\@yahoo.com
>
> Please notice the regexp distinctions that produced these results.
> As well, notice that '.*?' was put in as a trap to filter out exterraneou=
s
> characters that are not alpha numeric.
>
> Let us pray.

Just foud and read "Regular Expression Tutorial Part 5: Greedy and Non-
Greedy Quantification" by Andrew Johnson (which can be found on the
Internet by searching).  Andrew provides a pretty convencing
explanation on how '.*?' works.  I believe the use of '.*?' will take
care of no space, one or more other characters, including space, tab,
etc.,  that appear before the real email address but are not matched
by [\w.-].

I've started to love this place and you guys .. :-)


------------------------------

Date: Sun, 02 Nov 2008 21:30:01 -0700
From: Scott Bryce <sbryce@scottbryce.com>
Subject: Re: /^From:.*?([\w.-]+@[\w.-]+)/
Message-Id: <geluoj$tk5$1@registered.motzarella.org>

April wrote:
> I still don't understand where your accusations come from, why you
> are so upset, and what exactly you are expecting ..

He is not making accusations, and he is not upset. He is trying to help
you communicate your questions in a way that makes it easier for the
regulars here to answer them.

For example, in this line of code:

elsif ($header && /^From:.*?([\w.-]+@[\w.-]+)/)

We have no way of knowing what $header is used for, or what data it
might contain.

We have no way of knowing what $_ might contain.

We don't know what you mean by "header section." Of a email? Or is your
program divided up into "sections" that we are unaware of?

Without knowing that we cannot know if $header contains a value that is
different from what you think it holds, if $_ contains a different value
than you think it does, or if the regex is wrong for what you are trying
to accomplish.

if you haven't already, take a look at the posting guidelines for this
group. See if they help you ask your questions in a better way in the
future. There is a lot of Perl talent here. (I normally don't respond to
posts here, since there are others who give much better answers than I
do.) If you are willing to work within their guidelines, there is a lot
you can learn here.


------------------------------

Date: Sun, 02 Nov 2008 22:37:15 -0800
From: Tim Greer <tim@burlyhost.com>
Subject: Re: /^From:.*?([\w.-]+@[\w.-]+)/
Message-Id: <v_wPk.22$sy1.13@newsfe19.iad>

April wrote:

> Just foud and read "Regular Expression Tutorial Part 5: Greedy and
> Non- Greedy Quantification" by Andrew Johnson (which can be found on
> the Internet by searching).  Andrew provides a pretty convencing
> explanation on how '.*?' works.  I believe the use of '.*?' will take
> care of no space, one or more other characters, including space, tab,
> etc.,  that appear before the real email address but are not matched
> by [\w.-].
> 
> I've started to love this place and you guys .. :-)

BTW, if you know it'll only be white space (space, tabs, etc.) between
the ^From:? and email@address, then \s+ would probably be a better
idea... unless you suspect other non \w, ., and - characters will exist
between it and don't want to try and predict them.
-- 
Tim Greer, CEO/Founder/CTO, BurlyHost.com, Inc.
Shared Hosting, Reseller Hosting, Dedicated & Semi-Dedicated servers
and Custom Hosting.  24/7 support, 30 day guarantee, secure servers.
Industry's most experienced staff! -- Web Hosting With Muscle!


------------------------------

Date: Mon, 03 Nov 2008 00:24:30 GMT
From: sln@netherlands.com
Subject: A couple of questions regarding runtime generation of REGEXP's
Message-Id: <6bdsg41737vhs8pgau320km5nabvff0blf@4ax.com>

I'm probably going to use some wrong terms here but I
hope to give enough detail that I can get a definative
resolution to this, once and for all.

Basically I'm writing a sub that wants to take a regular
expression as a parameter. It then blindly operates on data,
matching, and posible substitution.

Apparently qr// will only function on the matching side, something like this:

# works
$rx = qr/\Q$sometext\E/s;
$data =~ /$rx/;
# or $data =~ $rx/

But this:

# does not work, no way no how
$rx = qr{s/\Q$sometext\E/junk/g};
$data =~ $rx;

Even though qr{s/\Q$sometext\E/junk/g} will pass warnings and errors,
even though the substitution is constant (ie, no runtime $1,$2, etc..)
it never matches.

I mean I could see a failure scenario if using $1.. on the substitution side
because it breaks undefined'ness, but if its given a constant it should work IMO.
And if it does compile, like the above does, it should work.

The fall back is to use an eval "" where something like this is possible:

$rx = "s/\\Q$sometext(.*?)\\E/junk\$1/g";
$expression = "\$res = \$data =~ $rx";
eval $expression;
if ($res) {
	...
}

But eval is 2 to 4 times slower.

They only thing "dynamic" about the regualar expression above is the case of 
substitution of $1.. Surely this could be taken into account when say using
the qr// construct couldn't it? Is it really breaking the rules, or would it
factor down to an eval anyway in that case? But the constant substitution,
I don't see why that can't work.

Is there anyway possible the substitution side will work?

TIA,
sln







------------------------------

Date: Mon, 3 Nov 2008 13:37:21 +1100
From: Martien Verbruggen <mgjv@heliotrope.com.au>
Subject: Re: A couple of questions regarding runtime generation of REGEXP's
Message-Id: <slrnggsov1.les.mgjv@mgjv.heliotrope.home>

On Mon, 03 Nov 2008 00:24:30 GMT,
	sln@netherlands.com <sln@netherlands.com> wrote:
> I'm probably going to use some wrong terms here but I
> hope to give enough detail that I can get a definative
> resolution to this, once and for all.
>
> Basically I'm writing a sub that wants to take a regular
> expression as a parameter. It then blindly operates on data,
> matching, and posible substitution.
>
> Apparently qr// will only function on the matching side, something like this:
>
> # works
> $rx = qr/\Q$sometext\E/s;
> $data =~ /$rx/;
> # or $data =~ $rx/

The matching is done by the // operator. Not because you happened to use
qr// a bit earlier. 

> But this:
>
> # does not work, no way no how
> $rx = qr{s/\Q$sometext\E/junk/g};
> $data =~ $rx;

A bare regex is simply not going to work on the right hand side of a =~
operator. It's the operator on the right hand side that does the
matching, not the =~ operator itself. That only binds an expression
instead of $_ to that matching operator.

More detail:

From perlop:

       Binary "=~" binds a scalar expression to a pattern match.  Certain
       operations search or modify the string $_ by default.  This operator
       makes that kind of operation work on some other string.  The right
       argument is a search pattern, substitution, or transliteration.

Note that 'pattern' or 'regular expression' are not part of the allowed
right arguments.

Further down in the same document, under "Quote and Quote-like
Operators":

           Customary  Generic        Meaning        Interpolates
               ''       q{}          Literal             no
               ""      qq{}          Literal             yes
               ‘‘      qx{}          Command             yes*
                       qw{}         Word list            no
               //       m{}       Pattern match          yes*
                       qr{}          Pattern             yes*
                        s{}{}      Substitution          yes*
                       tr{}{}    Transliteration         no (but see below)
               <<EOF                 here-doc            yes*

And a little further down again:

       Regexp Quote-Like Operators

       Here are the quote-like operators that apply to pattern matching and
       related activities.
[snip]

Martien
-- 
                        | 
Martien Verbruggen      | Computers in the future may weigh no more
                        | than 1.5 tons. -- Popular Mechanics, 1949
                        | 


------------------------------

Date: Sun, 2 Nov 2008 21:49:03 -0600
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: A couple of questions regarding runtime generation of REGEXP's
Message-Id: <slrnggst5f.td8.tadmc@tadmc30.sbcglobal.net>

sln@netherlands.com <sln@netherlands.com> wrote:

> Basically I'm writing a sub that wants to take a regular
> expression as a parameter. It then blindly operates on data,
> matching, and posible substitution.
>
> Apparently qr// will only function on the matching side, something like this:


"qr" stands for "quote regular expression" and the so called
"matching side" of s/// is the part that is a regular expression.

qr will work fine there.

(the other "side" is the "replacement string", ie. it is not
a regular expression at all.)


> # does not work, no way no how


Of course not. You are trying to quote something that is not
a regular expression.


> $rx = qr{s/\Q$sometext\E/junk/g};

That regular expression will match if the string contains:
   an "s" character followed by
   a "/" character followed by
   the literal contents of $sometext followed by
   a "/" character followed by
   a "j" character followed by
   a "u" character followed by
   ...

So that will match if:

    my $data = "s/$sometext/junk/g";


> $data =~ $rx;

    my $rx = qr/\Q$sometext\E/;     # quote only the regex part
    $data =~ s/$rx/junk/g;          # works fine


> And if it does compile, like the above does, it should work.


It does work (but only if $data actually contains the characters listed above).


> Is there anyway possible the substitution side will work?


Yes. See above.


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"


------------------------------

Date: Sun, 02 Nov 2008 22:41:28 -0800
From: Tim Greer <tim@burlyhost.com>
Subject: Re: A couple of questions regarding runtime generation of REGEXP's
Message-Id: <s2xPk.24$sy1.3@newsfe19.iad>

sln@netherlands.com wrote:

> # does not work, no way no how
> $rx = qr{s/\Q$sometext\E/junk/g};
> $data =~ $rx;

Looks like you're unintentionally trying to run a regex within the
regex, where the regex within is actually just trying to match a string
(not a functional regex).
-- 
Tim Greer, CEO/Founder/CTO, BurlyHost.com, Inc.
Shared Hosting, Reseller Hosting, Dedicated & Semi-Dedicated servers
and Custom Hosting.  24/7 support, 30 day guarantee, secure servers.
Industry's most experienced staff! -- Web Hosting With Muscle!


------------------------------

Date: Sun, 2 Nov 2008 16:24:34 -0800 (PST)
From: cyl <u8526505@gmail.com>
Subject: How to get the memory address of a Perl variable in XS
Message-Id: <79cb3088-9f3c-4abc-99bd-4217e7630153@n1g2000prb.googlegroups.com>

in Perl script,

my @arr = (1,2,3);
xs_test(\@arr);

in XS code

void xs_test()
{
      SV * sv = ST(0);

      // get the memory address of this array reference and save it,
but how?
}

How do I get the memory address of \@arr in xs_test? Will the content
in that address change when exiting the xs_test function? Thanks.


------------------------------

Date: Mon, 03 Nov 2008 02:03:14 GMT
From: sln@netherlands.com
Subject: Re: if ($line == $count++)
Message-Id: <5pmsg4pc4thf8fks18k0gvjp6fg1740nnd@4ax.com>

On Thu, 30 Oct 2008 09:07:38 -0700 (PDT), April <xiaoxia2005a@yahoo.com> wrote:

>looking at the following, if $line has values of 1, 2, 3, ... will the
>if test ever tests true when $line equals 1?  It seems it won't as
>$count starts as 1 and then the test with $count++ (=2), but the
>execution suggests otherwise ...
>
>    my $count = 1;
>    while(<IN>)
>    {
>        if ($line == $count++)
>        {
>            $deleted = $_;
>            next;
>        }
>        print OUT;
>    }

$line is not part of this code.
Possibly the simplest solution is the right one.
Even if you can copy code, perhaps you shouldn't paste it.

sln



------------------------------

Date: Sun, 2 Nov 2008 21:50:30 -0600
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: if ($line == $count++)
Message-Id: <slrnggst86.td8.tadmc@tadmc30.sbcglobal.net>

sln@netherlands.com <sln@netherlands.com> wrote:
> On Thu, 30 Oct 2008 09:07:38 -0700 (PDT), April <xiaoxia2005a@yahoo.com> wrote:
>
>>looking at the following, if $line has values of 1, 2, 3, ... will the
>>if test ever tests true when $line equals 1?  It seems it won't as
>>$count starts as 1 and then the test with $count++ (=2), but the
>>execution suggests otherwise ...
>>
>>    my $count = 1;
>>    while(<IN>)
>>    {
>>        if ($line == $count++)
              ^^^^^
              ^^^^^
>>        {
>>            $deleted = $_;
>>            next;
>>        }
>>        print OUT;
>>    }
>
> $line is not part of this code.


$line is most certainly part of that code.


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"


------------------------------

Date: Mon, 3 Nov 2008 05:42:22 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Mon Nov  3 2008
Message-Id: <K9qt6M.1y2C@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.

Acme-CPANAuthors-Canadian-0.0101
http://search.cpan.org/~zoffix/Acme-CPANAuthors-Canadian-0.0101/
We are Canadian CPAN authors 
----
Acme-CPANAuthors-French-0.07
http://search.cpan.org/~saper/Acme-CPANAuthors-French-0.07/
We are French CPAN authors 
----
Acme-CPANAuthors-Russian-0.0101
http://search.cpan.org/~zoffix/Acme-CPANAuthors-Russian-0.0101/
We are Russian CPAN authors 
----
Acme-Lambda-Expr-0.01
http://search.cpan.org/~gfuji/Acme-Lambda-Expr-0.01/
Lambda expressions 
----
Apache2-ASP-2.00_15
http://search.cpan.org/~johnd/Apache2-ASP-2.00_15/
ASP for Perl, reloaded. 
----
App-Benchmark-0.01
http://search.cpan.org/~marcel/App-Benchmark-0.01/
Output your benchmarks as test diagnostics 
----
App-Benchmark-Accessors-0.01
http://search.cpan.org/~marcel/App-Benchmark-Accessors-0.01/
benchmark accessor generators 
----
App-Hachero-0.05
http://search.cpan.org/~danjou/App-Hachero-0.05/
a plaggable log analyzing framework 
----
App-ZofCMS-Plugin-DirTreeBrowse-0.0101
http://search.cpan.org/~zoffix/App-ZofCMS-Plugin-DirTreeBrowse-0.0101/
plugin to display browseable directory tree 
----
App-ZofCMS-Plugin-FileList-0.0101
http://search.cpan.org/~zoffix/App-ZofCMS-Plugin-FileList-0.0101/
ZofCMS plugin to display lists of files 
----
App-ZofCMS-Plugin-FileToTemplate-0.0101
http://search.cpan.org/~zoffix/App-ZofCMS-Plugin-FileToTemplate-0.0101/
read or do() files into ZofCMS Templates 
----
BDB-Wrapper-0.23
http://search.cpan.org/~hikarine/BDB-Wrapper-0.23/
Wrapper module for BerkeleyDB.pm 
----
CGI-Application-Dispatch-2.14
http://search.cpan.org/~markstos/CGI-Application-Dispatch-2.14/
Dispatch requests to CGI::Application based objects 
----
CGI-Application-Server-0.060
http://search.cpan.org/~rjbs/CGI-Application-Server-0.060/
A simple HTTP server for developing with CGI::Application 
----
CGI-Session-ID-sha-1.00
http://search.cpan.org/~desoto/CGI-Session-ID-sha-1.00/
CGI::Session ID driver for generating SHA-1 based IDs 
----
Crypt-Rot47-0.01
http://search.cpan.org/~zblair/Crypt-Rot47-0.01/
Perl extension for encrypting and decrypting text using the Rot47 substitution cipher. 
----
DBIx-MyParseX-0.06
http://search.cpan.org/~ctbrown/DBIx-MyParseX-0.06/
Extensions to DBIx::MyParse 
----
Data-Iterator-Hierarchical-0.05
http://search.cpan.org/~nobull/Data-Iterator-Hierarchical-0.05/
Iterate hierarchically over tabular data 
----
Data-Iterator-Hierarchical-0.06
http://search.cpan.org/~nobull/Data-Iterator-Hierarchical-0.06/
Iterate hierarchically over tabular data 
----
Data-Iterator-Hierarchical-0.07
http://search.cpan.org/~nobull/Data-Iterator-Hierarchical-0.07/
Iterate hierarchically over tabular data 
----
Data-UUID-1.200_01
http://search.cpan.org/~rjbs/Data-UUID-1.200_01/
Perl extension for generating Globally/Universally Unique Identifiers (GUIDs/UUIDs). 
----
ExtUtils-InstallPAR-0.02
http://search.cpan.org/~smueller/ExtUtils-InstallPAR-0.02/
Install .par's into any installed perl 
----
File-Find-Similars-2.00
http://search.cpan.org/~suntong/File-Find-Similars-2.00/
Fast similar-files finder 
----
Finance-QuoteDB-0.01
http://search.cpan.org/~ecocode/Finance-QuoteDB-0.01/
User database tools based on Finance::Quote 
----
Foorum-0.003001
http://search.cpan.org/~fayland/Foorum-0.003001/
forum system based on Catalyst 
----
Foorum-1.000000
http://search.cpan.org/~fayland/Foorum-1.000000/
forum system based on Catalyst 
----
Graph-Easy-0.64
http://search.cpan.org/~tels/Graph-Easy-0.64/
Convert or render graphs (as ASCII, HTML, SVG or via Graphviz) 
----
HTTP-Session-0.07
http://search.cpan.org/~tokuhirom/HTTP-Session-0.07/
simple session 
----
JiftyX-ModelHelpers-0.20
http://search.cpan.org/~gugod/JiftyX-ModelHelpers-0.20/
Make it simpler to fetch records in Jifty. 
----
JiftyX-ModelHelpers-0.21
http://search.cpan.org/~gugod/JiftyX-ModelHelpers-0.21/
Make it simpler to fetch records in Jifty. 
----
Module-ScanDeps-0.88
http://search.cpan.org/~smueller/Module-ScanDeps-0.88/
Recursively scan Perl code for dependencies 
----
Mojo-0.8.1
http://search.cpan.org/~sri/Mojo-0.8.1/
The Web In A Box! 
----
Mojo-0.8.2
http://search.cpan.org/~sri/Mojo-0.8.2/
The Web In A Box! 
----
MooseX-MutatorAttributes-0.12
http://search.cpan.org/~notbenh/MooseX-MutatorAttributes-0.12/
Moose Role to add a quick set method that returns self 
----
Mouse-0.11
http://search.cpan.org/~sartak/Mouse-0.11/
Moose minus the antlers 
----
Net-Arping-0.03
http://search.cpan.org/~radek/Net-Arping-0.03/
Ping remote host by ARP packets 
----
NetAddr-IP-4.015
http://search.cpan.org/~miker/NetAddr-IP-4.015/
Manages IPv4 and IPv6 addresses and subnets 
----
News-Search-1.10.1
http://search.cpan.org/~suntong/News-Search-1.10.1/
Usenet news searching toolkit 
----
PDL-2.4.3_04
http://search.cpan.org/~chm/PDL-2.4.3_04/
the Perl Data Language 
----
POE-Component-IRC-Plugin-CSS-Minifier-0.0101
http://search.cpan.org/~zoffix/POE-Component-IRC-Plugin-CSS-Minifier-0.0101/
plugin to "minify" CSS code 
----
POE-Component-IRC-Plugin-Syntax-Highlight-CSS-0.0101
http://search.cpan.org/~zoffix/POE-Component-IRC-Plugin-Syntax-Highlight-CSS-0.0101/
IRC plugin to highlight CSS code from URIs 
----
POE-Component-IRC-Plugin-Syntax-Highlight-HTML-0.0101
http://search.cpan.org/~zoffix/POE-Component-IRC-Plugin-Syntax-Highlight-HTML-0.0101/
IRC plugin to highlight HTML code from URIs 
----
POE-Component-Server-Postfix-0.001
http://search.cpan.org/~hdp/POE-Component-Server-Postfix-0.001/
Postfix (MTA) server toolkit 
----
POE-Component-Syntax-Highlight-HTML-0.0201
http://search.cpan.org/~zoffix/POE-Component-Syntax-Highlight-HTML-0.0201/
non-blocking wrapper around Syntax::Highlight::HTML 
----
POE-Filter-Postfix-0.001
http://search.cpan.org/~hdp/POE-Filter-Postfix-0.001/
Postfix (MTA) text attribute communication 
----
POE-Filter-Postfix-0.002
http://search.cpan.org/~hdp/POE-Filter-Postfix-0.002/
Postfix (MTA) text attribute communication 
----
POE-Filter-Postfix-0.003
http://search.cpan.org/~hdp/POE-Filter-Postfix-0.003/
Postfix (MTA) text attribute communication 
----
Padre-0.15
http://search.cpan.org/~szabgab/Padre-0.15/
Perl Application Development and Refactoring Environment 
----
Padre-Plugin-TabAndSpace-0.01
http://search.cpan.org/~fayland/Padre-Plugin-TabAndSpace-0.01/
convert between space and tab within Padre 
----
Padre-Plugin-TabAndSpace-0.02
http://search.cpan.org/~fayland/Padre-Plugin-TabAndSpace-0.02/
convert between space and tab within Padre 
----
Padre-Plugin-WordStats-0.01
http://search.cpan.org/~fayland/Padre-Plugin-WordStats-0.01/
Word stats for Padre 
----
Params-Util-0.34_01
http://search.cpan.org/~adamk/Params-Util-0.34_01/
Simple, compact and correct param-checking functions 
----
Pg-Loader-0.15
http://search.cpan.org/~ioannis/Pg-Loader-0.15/
Perl extension for loading Postgres tables 
----
Pg-Loader-0.16
http://search.cpan.org/~ioannis/Pg-Loader-0.16/
Perl extension for loading Postgres tables 
----
Rose-DB-Object-0.775
http://search.cpan.org/~jsiracusa/Rose-DB-Object-0.775/
Extensible, high performance object-relational mapper (ORM). 
----
TM-Corpus-0.07
http://search.cpan.org/~drrho/TM-Corpus-0.07/
Topic Maps, Document Corpus 
----
Test-NeedsDisplay-1.05
http://search.cpan.org/~adamk/Test-NeedsDisplay-1.05/
Ensure that tests needing a display have one 
----
Text-CSV-Separator-0.20
http://search.cpan.org/~enell/Text-CSV-Separator-0.20/
Determine the field separator of a CSV file 
----
Text-Markdown-1.0.23
http://search.cpan.org/~bobtfish/Text-Markdown-1.0.23/
Convert Markdown syntax to (X)HTML 
----
Tie-Array-AsHash-0.09.1
http://search.cpan.org/~rehsack/Tie-Array-AsHash-0.09.1/
Like Tie::File::AsHash (now: groundwork for it) but allows any array being source, not just files. 
----
Tie-Array-AsHash-0.10
http://search.cpan.org/~rehsack/Tie-Array-AsHash-0.10/
Like Tie::File::AsHash (now: groundwork for it) but allows any array being source, not just files. 
----
Time-Local-1.1901
http://search.cpan.org/~drolsky/Time-Local-1.1901/
efficiently compute time from local and GMT time 
----
WWW-Contact-0.16
http://search.cpan.org/~sachinjsk/WWW-Contact-0.16/
Get contacts/addressbook from Web 
----
WWW-Mechanize-Shell-0.47
http://search.cpan.org/~corion/WWW-Mechanize-Shell-0.47/
An interactive shell for WWW::Mechanize 
----
WWW-Search-Mininova-0.06
http://search.cpan.org/~zoffix/WWW-Search-Mininova-0.06/
Interface to www.mininova.org Torrent site 
----
Waft-jQuery-0.00_01
http://search.cpan.org/~tamashiro/Waft-jQuery-0.00_01/
jQuery extensions for Waft 
----
Wx-Perl-DirTree-0.01
http://search.cpan.org/~reneeb/Wx-Perl-DirTree-0.01/
A directory tree widget for wxPerl 
----
mobirc-1.07
http://search.cpan.org/~tokuhirom/mobirc-1.07/
modern IRC to HTTP gateway 
----
mpp-10
http://search.cpan.org/~pfeiffer/mpp-10/
----
mpp-9
http://search.cpan.org/~pfeiffer/mpp-9/
----
re-engine-LPEG-0.03
http://search.cpan.org/~perrad/re-engine-LPEG-0.03/
LPEG regular expression engine 


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/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion


------------------------------

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 1959
***************************************


home help back first fref pref prev next nref lref last post