[29478] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 722 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Aug 6 14:14:28 2007

Date: Mon, 6 Aug 2007 11:14:19 -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           Mon, 6 Aug 2007     Volume: 11 Number: 722

Today's topics:
        Matching problem raymond@new.orleans
    Re: Matching problem <invalid@invalid.org>
    Re: Matching problem <mritty@gmail.com>
    Re: Matching problem raymond@new.orleans
    Re: Matching problem raymond@new.orleans
    Re: Matching problem <tadmc@seesig.invalid>
    Re: Matching problem <admiralcap@gmail.com>
    Re: Matching problem <mritty@gmail.com>
        Multi-Match (to Array) Regex with a precodition match? <christian.rohmann@gmx.de>
    Re: Multi-Match (to Array) Regex with a precodition mat <wahab-mail@gmx.de>
    Re: Multi-Match (to Array) Regex with a precodition mat <admiralcap@gmail.com>
    Re: Multi-Match (to Array) Regex with a precodition mat <wahab-mail@gmx.de>
        new CPAN modules on Mon Aug  6 2007 (Randal Schwartz)
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Sun, 5 Aug 2007 17:20:30 GMT
From: raymond@new.orleans
Subject: Matching problem
Message-Id: <cEnti.8716$RH2.3464@bignews7.bellsouth.net>

Hi,

I've been working on parsing data in a program and came across a matching
problem that is giving me headaches!

I have narrowed the problem down to parenthesis in a string that won't
match.  Is this a known bug?

I just tried this test and it didn't work:

-----

$data = "Bob (or somebody else) made a deal";
$data2 = "Bob (or somebody else) made a deal";

if( $data =~ /$data2/ ) {
  printf( STDOUT "MATCH!\n" );
}

-----
(it doesn't print "MATCH!")

but if I remove ONLY the parenthesis:

-----

$data = "Bob or somebody else made a deal";
$data2 = "Bob or somebody else made a deal";

if( $data =~ /$data2/ ) {
  printf( STDOUT "MATCH!\n" );
}

-----

it works perfectly.

How do I work around this problem?

(p.s. the string $data could contain multiple responses separated by commas
like:
$data = "Bob (or somebody else) made a deal, Jack was there, Nobody else";


Thanks in advance!

Raymond


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

Date: Sun, 05 Aug 2007 19:36:36 +0200
From: David Sudlow <invalid@invalid.org>
Subject: Re: Matching problem
Message-Id: <46b60aa6$0$25912$ba4acef3@news.orange.fr>

raymond@new.orleans wrote:
> Hi,
> 
> I've been working on parsing data in a program and came across a matching
> problem that is giving me headaches!
> 
> I have narrowed the problem down to parenthesis in a string that won't
> match.  Is this a known bug?
> 
> I just tried this test and it didn't work:
> 
> -----
> 
> $data = "Bob (or somebody else) made a deal";
> $data2 = "Bob (or somebody else) made a deal";
> 
> if( $data =~ /$data2/ ) {
>   printf( STDOUT "MATCH!\n" );
> }
> 
> -----
> (it doesn't print "MATCH!")
> 
> but if I remove ONLY the parenthesis:
> 
> -----
> 
> $data = "Bob or somebody else made a deal";
> $data2 = "Bob or somebody else made a deal";
> 
> if( $data =~ /$data2/ ) {
>   printf( STDOUT "MATCH!\n" );
> }
> 
> -----
> 
> it works perfectly.
> 
> How do I work around this problem?
> 
> (p.s. the string $data could contain multiple responses separated by commas
> like:
> $data = "Bob (or somebody else) made a deal, Jack was there, Nobody else";
> 
> 
> Thanks in advance!
> 
> Raymond

You should be using \Q to tell perl to ignore metacharacters in the 
interpolated string.

i.e.
if( $data =~ /\Q$data2/ ) {


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

Date: Sun, 05 Aug 2007 10:52:58 -0700
From:  Paul Lalli <mritty@gmail.com>
Subject: Re: Matching problem
Message-Id: <1186336378.009402.288790@19g2000hsx.googlegroups.com>

On Aug 5, 1:20 pm, raym...@new.orleans wrote:
> I've been working on parsing data in a program and came
> across a matching problem that is giving me headaches!
>
> I have narrowed the problem down to parenthesis in a
> string that won't match.  Is this a known bug?

Yes, it's a known bug IN YOUR CODE.  Expecting that your program
doesn't work because there's something wrong with the language is
exceedingly arrogant.

> I just tried this test and it didn't work:

Yes it did.  It worked perfectly.  It just didn't do what you expected
it to do.  That's because your expectations were wrong, not because
Perl was wrong.

> $data = "Bob (or somebody else) made a deal";
> $data2 = "Bob (or somebody else) made a deal";
>
> if( $data =~ /$data2/ ) {

( and ) are special characters in a regular expression.  They need to
be escaped.  If you'd written that pattern out, you would have done:

if ($data =~ /Bob \(or somebody else\) made a deal/) {

But since your text is contained in a variable, you need a way to tell
Perl to backslash any non-alphanumerics in a variable.  You do that
with the \Q...\E escapes or the quotemeta() function:

perldoc -f quotemeta
perldoc -q "quote a variable"
Found in /software/perl-5.8.5-0/pkg/lib/5.8.5/pod/perlfaq6.pod
     How can I quote a variable to use in a regex?


>   printf( STDOUT "MATCH!\n" );

Why are you using printf() when print() will do?  Perl is not C.

> }
>
> -----
> (it doesn't print "MATCH!")

That's because the pattern didn't match.  Parentheses in a regexp
don't match parentheses in a string.

perldoc perlretut
perldoc perlre
perldoc perlreref

Paul Lalli



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

Date: Sun, 5 Aug 2007 18:07:54 GMT
From: raymond@new.orleans
Subject: Re: Matching problem
Message-Id: <Ekoti.8729$RH2.4976@bignews7.bellsouth.net>


On  5-Aug-2007, David Sudlow <invalid@invalid.org> wrote:

> You should be using \Q to tell perl to ignore metacharacters in the
> interpolated string.
>
> i.e.
> if( $data =~ /\Q$data2/ ) {


DOH! *bonks head*

Thanks!  Worked perfectly.  It'd have probably taken me too long to figure
this out even if I had gone looking for a metacharacter solution.

Where can I read up on prefixing the string with other quantifiers?  I've
never seen it done like this.  Would /$data2\Q/ also work?

Thanks for your help!!!!


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

Date: Sun, 5 Aug 2007 18:13:42 GMT
From: raymond@new.orleans
Subject: Re: Matching problem
Message-Id: <3qoti.8731$RH2.5325@bignews7.bellsouth.net>

Well, it seems to me like it should have worked but it didn't. i.e. it was
acting buggy.  Must be my arrogant self acting ignorant.

Thanks for the lesson in arrogance.


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

Date: Sun, 5 Aug 2007 17:32:27 -0500
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: Matching problem
Message-Id: <slrnfbcjvr.tor.tadmc@tadmc30.sbcglobal.net>

raymond@new.orleans <raymond@new.orleans> wrote:
> On  5-Aug-2007, David Sudlow <invalid@invalid.org> wrote:

>> if( $data =~ /\Q$data2/ ) {

> Where can I read up on prefixing the string with other quantifiers?  


( There are NO quantifiers there... )


See the "Quote and Quote-like Operators" section in:

   perldoc perlop


> Would /$data2\Q/ also work?


What happened when you tried it?


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


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

Date: Sun, 05 Aug 2007 16:02:08 -0700
From: Matt Madrid <admiralcap@gmail.com>
Subject: Re: Matching problem
Message-Id: <1Pydnd0II79tyyvbnZ2dnUVZ_jGdnZ2d@comcast.com>

raymond@new.orleans wrote:
> $data = "Bob (or somebody else) made a deal";
> $data2 = "Bob (or somebody else) made a deal";
> 
> if( $data =~ /$data2/ ) {
>   printf( STDOUT "MATCH!\n" );
> }
> 
> -----
> (it doesn't print "MATCH!")
> 
> but if I remove ONLY the parenthesis:

Using =~ //; binds $data to a regexp pattern match. That is clearly
not what you are trying to do here. You simply want to check if
$data "is equal to" $data2.

For that, you should just use an equality operator, in this case "eq".

Also, there is no need for printf() here, and print will automatically
print to STDOUT.

	print "MATCH" if ($data eq $data2);

http://perldoc.perl.org/perlop.html
perldoc perlop
http://perldoc.perl.org/perlre.html
perldoc perlre

> Thanks in advance!
> 
> Raymond

You're welcome in advance!

Matt M.


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

Date: Sun, 05 Aug 2007 20:48:13 -0700
From:  Paul Lalli <mritty@gmail.com>
Subject: Re: Matching problem
Message-Id: <1186372093.998493.234730@b79g2000hse.googlegroups.com>

On Aug 5, 2:13 pm, raym...@new.orleans wrote:
> Well, it seems to me like it should have worked but it didn't.

It DID work.  Why don't you grasp that yet?

> i.e. it was acting buggy.  

Yes, your code was buggy.  Because you had a bug in your code.

> Must be my arrogant self acting ignorant.

Yes.

> Thanks for the lesson in arrogance.

You're welcome.  Shame you didn't learn it.  To continue to argue that
Perl is some way deficient because *you* don't understand it is beyond
arrogance.

Paul Lalli



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

Date: Sun, 05 Aug 2007 20:43:40 +0200
From: Christian Rohmann <christian.rohmann@gmx.de>
Subject: Multi-Match (to Array) Regex with a precodition match?
Message-Id: <f955op$h01$1@newsreader2.netcologne.de>

Hey folks,

I'm new to this ng and I hope I follow all the guidelines for posting.


Well I'm stuck with a regex problem:

1. I want to do a multi-match (/g) on a multiline string (/m).
2. I need a certain start string to start the multi-match thingy
3. Additionally I would love to define a stop regex an when new 
multi-matches cannot occur.


Example:


"LISTING1 = Peter
            Jane
            Frank
            Jakob

LISTING2 = Marry
            Jake
            Oswald
            Jason
            David"


to 1: I'd love to walk though the whole thing
to 2: LISTING# is my starting regex, and want all the "entries" matched 
an send to an array
to 3: it would be great to define like /LISTING666/ as stop string ... 
but this is bonus ...


so far I tried like


m/LISTING\d+\s=\s(\w+)*/gm ... but this only matches for the first 
"complete" line ...




Maybe I need an extra lesson in regex the hidden nifty sh .. eh stuff.





THX guys (and gals of course),


Christian


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

Date: Sun, 05 Aug 2007 21:25:19 +0200
From: Mirco Wahab <wahab-mail@gmx.de>
Subject: Re: Multi-Match (to Array) Regex with a precodition match?
Message-Id: <f95c30$hm6$1@mlucom4.urz.uni-halle.de>

Christian Rohmann wrote:
> Well I'm stuck with a regex problem:
> ...
> to 1: I'd love to walk though the whole thing
> to 2: LISTING# is my starting regex, and want all the "entries" matched 
> an send to an array
> to 3: it would be great to define like /LISTING666/ as stop string ... 
> but this is bonus ...
> Maybe I need an extra lesson in regex the hidden nifty sh .. eh stuff.

from what I understood I'd take the following path:
(naíve hack:)

    ...
    my %listings;

    while( $text=~/LISTING(\d+)\s+=\s+(.+?)(?=LISTING|\z)/gs ) { # No 1
       $listings{ $1 }  = [ split /\s+/, $2 ]                    # No 2
          unless $1 == 666                                       # No 3
    }

    print "got Listings: ", scalar keys %listings, "\n";
    print "$_: @{ $listings{$_} }\n" for keys %listings;
    ...

This would work ona data set you provided (extenden by me):

    ...
    my $text = '
    LISTING1 = Peter
               Jane
               Frank
               Jakob

    LISTING2 = Marry
               Jake
               Oswald
               Jason
               David

    LISTING666 = PrinceOfDarkness
               MasterOfDoom
               CurtisLeMay
    ';
    ...

The extraction would therefore *not* include the 666 item,
if that one is wanted too, just put a 'last if $1 == 666' at
the bottom of the loop and remove the 'unless' expression.

just my € 0,02


Regards

M.


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

Date: Sun, 05 Aug 2007 13:34:51 -0700
From: Matt Madrid <admiralcap@gmail.com>
Subject: Re: Multi-Match (to Array) Regex with a precodition match?
Message-Id: <K4idnY_7s6XxqSvbnZ2dnUVZ_gSdnZ2d@comcast.com>

Christian Rohmann wrote:
> Hey folks,
> 
> I'm new to this ng and I hope I follow all the guidelines for posting.
> 
> 
> Well I'm stuck with a regex problem:
> 
> 1. I want to do a multi-match (/g) on a multiline string (/m).
> 2. I need a certain start string to start the multi-match thingy
> 3. Additionally I would love to define a stop regex an when new 
> multi-matches cannot occur.
> 
> 
> Example:
> 
> 
> "LISTING1 = Peter
>            Jane
>            Frank
>            Jakob
> 
> LISTING2 = Marry
>            Jake
>            Oswald
>            Jason
>            David"
> 
> 
> to 1: I'd love to walk though the whole thing
> to 2: LISTING# is my starting regex, and want all the "entries" matched 
> an send to an array
> to 3: it would be great to define like /LISTING666/ as stop string ... 
> but this is bonus ...
> 

Going to be tough to do all that with a one-liner regex. Try this:

--------------------------------------------
my $listnum;
my @entries;
while (<DATA>) {
     $listnum = $1 if s/LISTING(\d+)\s=\s//;
     last if $listnum > 665;
     push @entries, $1 if /(\w+)/;
}

__DATA__
LISTING1 = Peter
            Jane
            Frank
            Jakob

LISTING2 = Marry
            Jake
            Oswald
            Jason
            David
---------------------------------------------

Matt M.


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

Date: Sun, 05 Aug 2007 22:05:35 +0200
From: Mirco Wahab <wahab-mail@gmx.de>
Subject: Re: Multi-Match (to Array) Regex with a precodition match?
Message-Id: <f95gvc$jiq$1@mlucom4.urz.uni-halle.de>

Mirco Wahab wrote:
>    my %listings;
> 
>    while( $text=~/LISTING(\d+)\s+=\s+(.+?)(?=LISTING|\z)/gs ) { # No 1
>       $listings{ $1 }  = [ split /\s+/, $2 ]                    # No 2
>          unless $1 == 666                                       # No 3
>    }

After thinking about it, this can be done in one stroke
via the Perl5 code assertion + dynamical regex:

  ...
  my ($stp, %lst) = 666, ();   # define stop signal and empty hash

  () =  # set list context to regex
     $text =~ /LISTING(\d+)\W+ (.+?) (?=LISTING|\z)                        # 1
              (?{ $stp=0 if $1==$stp; $lst{$1}=[split '\s+',$2] if $stp }) # 2&3
              /gsx;

  print "$_: @{$lst{$_}}\n" for keys %lst;
  ...

Number 2 and 3 of your tasks (see other posts) are done
by a 'code assertion', which is - a microprogram within
the regular expression, within ?({ ... }) braces.

The funny "() =" sets list contex to the regex, in which
case /g repeats until no more matches are possible.
(see 'goatse operator', http://www.perlmonks.org/?node_id=426037)

Regards

M.


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

Date: Mon, 6 Aug 2007 04:42:13 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Mon Aug  6 2007
Message-Id: <JMC52D.107H@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.

Bundle-SafeBrowsing-1.01
http://search.cpan.org/~danborn/Bundle-SafeBrowsing-1.01/
SpamAssassin plugin that scores messages by looking up the URIs they contain in Google's SafeBrowsing tables. See <http://code.google.com/apis/safebrowsing/>. 
----
CPAN-Checksums-1.061
http://search.cpan.org/~andk/CPAN-Checksums-1.061/
Write a CHECKSUMS file for a directory as on CPAN 
----
Class-Method-Modifiers-0.01
http://search.cpan.org/~sartak/Class-Method-Modifiers-0.01/
provides Moose-like method modifiers 
----
Class-Method-Modifiers-0.02
http://search.cpan.org/~sartak/Class-Method-Modifiers-0.02/
provides Moose-like method modifiers 
----
DBIx-MyParsePP-0.25
http://search.cpan.org/~philips/DBIx-MyParsePP-0.25/
Pure-perl SQL parser based on MySQL grammar and lexer 
----
Debug-Smart-0.001
http://search.cpan.org/~shibuya/Debug-Smart-0.001/
Debug messages for smart logging to the file 
----
Egg-Release-2.18
http://search.cpan.org/~lushe/Egg-Release-2.18/
Version of Egg WEB Application Framework. 
----
File-Fcntl_Lock-0.07
http://search.cpan.org/~jtt/File-Fcntl_Lock-0.07/
File locking with fcntl(2) 
----
Games-NES-Emulator-0.02
http://search.cpan.org/~bricas/Games-NES-Emulator-0.02/
An object-oriented NES (6502) emulator 
----
Grid-Transform-0.06
http://search.cpan.org/~gray/Grid-Transform-0.06/
fast grid transformations 
----
HTML-Menu-TreeView-0.7.2
http://search.cpan.org/~lze/HTML-Menu-TreeView-0.7.2/
----
IO-AIO-2.4
http://search.cpan.org/~mlehmann/IO-AIO-2.4/
Asynchronous Input/Output 
----
IO-AIO-Util-0.01
http://search.cpan.org/~gray/IO-AIO-Util-0.01/
useful functions missing from IO::AIO 
----
MPEG-ID3v2Tag-0.39
http://search.cpan.org/~cbtilden/MPEG-ID3v2Tag-0.39/
Parses and creates ID3v2 Tags for MPEG audio files. 
----
Mail-SpamAssassin-Plugin-GoogleSafeBrowsing-1.03
http://search.cpan.org/~danborn/Mail-SpamAssassin-Plugin-GoogleSafeBrowsing-1.03/
SpamAssassin plugin to score mail based on Google blocklists. 
----
Math-Currency-0.4501
http://search.cpan.org/~jpeacock/Math-Currency-0.4501/
Exact Currency Math with Formatting and Rounding 
----
Moose-Autobox-0.05
http://search.cpan.org/~stevan/Moose-Autobox-0.05/
Ruby ain't got nothin on us 
----
Net-Google-SafeBrowsing-Blocklist-1.04
http://search.cpan.org/~danborn/Net-Google-SafeBrowsing-Blocklist-1.04/
Query a Google SafeBrowsing table 
----
Net-Google-SafeBrowsing-UpdateRequest-1.04
http://search.cpan.org/~danborn/Net-Google-SafeBrowsing-UpdateRequest-1.04/
Update a Google SafeBrowsing table 
----
Net-Google-SafeBrowsing-UpdateRequest-1.05
http://search.cpan.org/~danborn/Net-Google-SafeBrowsing-UpdateRequest-1.05/
Update a Google SafeBrowsing table 
----
POE-Component-Client-Ident-1.06
http://search.cpan.org/~bingos/POE-Component-Client-Ident-1.06/
A component that provides non-blocking ident lookups to your sessions. 
----
POE-Component-Client-NNTP-2.03
http://search.cpan.org/~bingos/POE-Component-Client-NNTP-2.03/
A POE component that implements an RFC 977 NNTP client. 
----
POE-Component-IRC-Plugin-POE-Knee-1.01
http://search.cpan.org/~bingos/POE-Component-IRC-Plugin-POE-Knee-1.01/
A POE::Component::IRC plugin that runs Acme::POE::Knee races. 
----
POE-Component-IRC-Plugin-RSS-Headlines-1.02
http://search.cpan.org/~bingos/POE-Component-IRC-Plugin-RSS-Headlines-1.02/
A POE::Component::IRC plugin that provides RSS headline retrieval. 
----
POE-Component-IRC-Plugin-URI-Find-1.02
http://search.cpan.org/~bingos/POE-Component-IRC-Plugin-URI-Find-1.02/
A POE::Component::IRC plugin that finds URIs in channel traffic. 
----
POE-Component-IRC-Service-0.992
http://search.cpan.org/~bingos/POE-Component-IRC-Service-0.992/
a fully event driven IRC Services module 
----
POE-Wheel-Run-Win32-0.03
http://search.cpan.org/~bingos/POE-Wheel-Run-Win32-0.03/
event driven fork/exec with added value 
----
Path-Resource-0.042
http://search.cpan.org/~rkrimen/Path-Resource-0.042/
URI/Path::Class combination. 
----
SOAP-WSDL-2.00_08
http://search.cpan.org/~mkutter/SOAP-WSDL-2.00_08/
SOAP with WSDL support 
----
Snapback2-0.12
http://search.cpan.org/~mikeh/Snapback2-0.12/
----
Snapback2-0.912
http://search.cpan.org/~mikeh/Snapback2-0.912/
----
Snapback2-0.913
http://search.cpan.org/~mikeh/Snapback2-0.913/
----
Statistics-Benford-0.03
http://search.cpan.org/~gray/Statistics-Benford-0.03/
calculate the deviation from Benford's Law 
----
Test-Deep-0.097
http://search.cpan.org/~fdaly/Test-Deep-0.097/
Extremely flexible deep comparison 
----
Test-Lazy-0.03
http://search.cpan.org/~rkrimen/Test-Lazy-0.03/
A quick and easy way to compose and run tests with useful output. 
----
Tie-Scalar-AsArray-0.01
http://search.cpan.org/~sartak/Tie-Scalar-AsArray-0.01/
base class of arrayref-based tied scalars 
----
Tie-Scalar-AsHash-0.01
http://search.cpan.org/~sartak/Tie-Scalar-AsHash-0.01/
base class of hashref-based tied scalars 
----
Tree-Suffix-0.18
http://search.cpan.org/~gray/Tree-Suffix-0.18/
Perl interface to the libstree library. 
----
WebService-Validator-HTML-W3C-0.20
http://search.cpan.org/~struan/WebService-Validator-HTML-W3C-0.20/
Access the W3Cs online HTML validator 
----
dvdrip-0.98.7
http://search.cpan.org/~jred/dvdrip-0.98.7/
----
libwww-perl-5.808
http://search.cpan.org/~gaas/libwww-perl-5.808/
----
parent-0.216
http://search.cpan.org/~corion/parent-0.216/
Establish an ISA relationship with base classes at compile time 


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: 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 722
**************************************


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