[28940] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 184 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Mar 2 00:10:09 2007

Date: Thu, 1 Mar 2007 21:09:06 -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           Thu, 1 Mar 2007     Volume: 11 Number: 184

Today's topics:
    Re: Combinatorics Problem <mitch.mcbride@gmail.com>
    Re: convert string to hash of hash? <g_m@remove-comcast.net>
        Expressing AND, OR, and NOT in a Single Pattern <usaims@yahoo.com>
    Re: Expressing AND, OR, and NOT in a Single Pattern <sbryce@scottbryce.com>
    Re: Expressing AND, OR, and NOT in a Single Pattern xhoster@gmail.com
    Re: Expressing AND, OR, and NOT in a Single Pattern <amphetamachine@gmail.com>
    Re: FAQ 6.21 What's wrong with using grep in a void con <amphetamachine@gmail.com>
        how to convert binary to string? <sonet.all@msa.hinet.net>
    Re: how to convert binary to string? <jurgenex@hotmail.com>
    Re: how to convert binary to string? <someone@example.com>
    Re: LWP:Authen:NTLM <ayaz@dev.slash.null>
        opendir function. <rajendra.prasad@in.bosch.com>
    Re: parse a log file question <jgibson@mail.arc.nasa.gov>
        Q on regex of LWP::Simple data <len@philpot.org>
    Re: Q on regex of LWP::Simple data <bigiain@mightymedia.com.au>
    Re: Rindex used to find end of a string <lambik@kieffer.nl>
    Re: sysread & eof <glex_no-spam@qwest-spam-no.invalid>
    Re: Too complex data structure? anno4000@radom.zrz.tu-berlin.de
    Re: Too complex data structure? <jgibson@mail.arc.nasa.gov>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: 1 Mar 2007 11:25:50 -0800
From: "Mitch  McBride" <mitch.mcbride@gmail.com>
Subject: Re: Combinatorics Problem
Message-Id: <1172777150.516726.3480@30g2000cwc.googlegroups.com>

On Mar 1, 2:30 am, "~greg" <g...@remove-comcast.net> wrote:
> "Mitch McBride"> wrote
>
> > ... I need a way of selecting combinations from different "buckets"
> > that are represented as nested arrays.
> > For instance, the array @n = (['1','2'], ['a','b'],['y','z']) would return:
> > 1 a y
> > 2 a y
> > 1 b y
> > 2 b y
> > 1 a z
> > 2 a z
> > 1 b z
> > 2 b z
>
> use strict;
> use warnings;
> use Data::Dump qw(dump);
>
> $|=1;
>
> my @n = ( ['1','2'], ['a','b'],['y','z'] );
>
> sub Comb
> {
>   if(@_ == 1)
>   {
>     return map { [$_] } @{ $_[0] };
>   }
>   my @A = Comb( @_[0..$#_-1] );
>   my @B = @{ $_[$#_] };
>   my ($a,$b);
>   return map{ $a=$_; map{ $b=$_; [@{$a},$b] } @B} @A;
>
> }
>
> # The basic idea is that to combine
> #    ( ['1','2'], ['a','b'],['y','z'] )
> # you first combine
> #   ( ['1','2'], ['a','b'] ),
> # getting
> #   ( ['1','a'], ['1','b'], ['2','a'], ['2','b'] )
> # Then you append each element in ['y','z']
> # to each of those arrays, getting:
>
> my @m = Comb(@n);
> dump(\@m);
>
> #[
> #  [1, "a", "y"],
> #  [1, "a", "z"],
> #  [1, "b", "y"],
> #  [1, "b", "z"],
> #  [2, "a", "y"],
> #  [2, "a", "z"],
> #  [2, "b", "y"],
> #  [2, "b", "z"],
> #]
> # in lexicographical order.
>
> # note: the recursion has to start by turning ( ['1','2'] )
> # into ( ['1'], ['2'] )
>
> # ~greg


Thanks for the replies!  I found just found Set::CrossProduct.  It
solves this problem quite elegantly:

use Set::CrossProduct;

my @n = ( ['1','2'],['a','b'],['y','z'] );

my $iterator = Set::CrossProduct->new( \@n );
my @tuples = $iterator->combinations;
print map{"@$_\n"} @tuples;


One caveat is that single elements like the one in ( '1' ,['a','b'],
['y','z'] ) must be expressed in an array like so ( ['1'],['a','b'],
['y','z'] ).



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

Date: Thu, 1 Mar 2007 23:57:26 -0500
From: "~greg" <g_m@remove-comcast.net>
Subject: Re: convert string to hash of hash?
Message-Id: <p8ydnb-odaVyM3rYnZ2dnUVZ_uGjnZ2d@comcast.com>


"dt" > wrote...
>I have a data set such as this:
>
> $ref{"a"}{"b"}[0]{"c"}
>
> any way to take a string such as:
>
> "a:b:[0]:c" and get the value stored in $ref{"a"}{"b"}[0]{"c"}?
>
> does using Data::Dumper help?

Yes! Always does!
~~

When I was trying understand perl references I came up with
the following subroutine: "Node()".

It is essentially the same idea that Jim Gibson mentioned,
but much more general.

The syntax for its use is:

    ${ Node( \$structure, $index1, $index2,...) }

This can be both assigned to, and read from,  just as is!

The indices are either text or integers.
(--taken to be integral iff =~ /^\d+$/)

The first argument to Node() is a pointer to a pointer to a structure.
The $structure can be initially undefined.

I don't see that any special error-checking is required.
However there is one cavat.

If you write to (or even try to read from)
incompatible signatures, then you loose information.

"signature" meaning the specific sequence of the argument types,
- integers (for arrays) and text ( for hashes).

If, in the same argument place, you once use a text
index, but then later use an integer, it's not an error.
But the whole hash branch at that point gets lost.

An example of this is included below (--the "busted").

~greg

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

use strict;
use warnings;
use Data::Dump qw(dump);
$|=1;

sub Node
{
  my $p = shift;
  foreach my $i (@_)
  {
    if($i =~ /^\d+$/)
    {
      $$p=[] if ref($$p) ne 'ARRAY';
      $$p->[$i] = undef if ! exists $$p->[$i];
      $p = \$$p->[$i];
    }
    else
    {
      $$p={} if ref($$p) ne 'HASH';
      $$p->{$i}=undef if ! exists $$p->{$i};
      $p = \$$p->{$i};
    }
  }
  return $p;
}


my $Struct;

${Node(  \$Struct, (split /\W+/, "a:b:[0]:c")  ) }  = 'this is ';
${Node(\$Struct, 'a','b',3,'d','e') }                      = 'a test';

print ${Node(\$Struct,'a','b',0,'c')};
print ${Node(\$Struct,'a','b',3,'d','e')};

print "\n";
dump($Struct);


print "~~~~~~~~~~~~~~~~~~~~~\n";
# An example of loosing information
# by assigning to a different signature:
# (--the 'b' and the '3' have been interchanged)

${Node(\$Struct, 'a',3,'b','d','e') }           = 'busted!';

#print ${Node(\$Struct,'a','b',0,'c')};       # error (undef)
#print ${Node(\$Struct,'a','b',3,'d','e')};   # error (undef)

print ${Node(\$Struct, 'a',3,'b','d','e') };
print "\n";
dump($Struct);

__END__

PRINTS:...

this is a test
{
  a => {
         b => [{ c => "this is " }, undef, undef, { d => { e => "a test" } }],
       },
}
~~~~~~~~~~~~~~~~~~~~~
busted!
{
  a => [undef, undef, undef, { b => { d => { e => "busted!" } } }],
}






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

Date: 1 Mar 2007 13:55:21 -0800
From: "usaims" <usaims@yahoo.com>
Subject: Expressing AND, OR, and NOT in a Single Pattern
Message-Id: <1172786119.237089.261630@31g2000cwt.googlegroups.com>

I'm having a little problem with this example in the Perl Cookbook.

True if pattern BAD does not match, but pattern GOOD does:
/(?=(?:(?!BAD).)*$)GOOD/s

My objective is to print only lines that have 'suspended' but not
'Data_services'. It is still printing lines with 'suspended' and
'Data_services' in the same line. So, ideally, this script should
print any lines. Correct me if I am wrong.

##############################
#!/usr/bin/perl
use strict;
use diagnostics;
use warnings;

my @stuff = <DATA>;

foreach my $foo(@stuff) {
if ($foo =~ /(?=(?:(?!Data_services).)*$)suspended/s) {
print $foo;

                               }
                               }
close(DATA);

__DATA__
<Query id='Data_services.LSSI_Weekly.42' suspended='1' error='Loading
Data Only - cannot run query' wuid='W20070227-140132'
associatedName='libW20070227-140132.so'/>
<Query id='Data_services.SSNMapKeys.14' suspended='1' error='Loading
Data Only - cannot run query' wuid='W20070105-115230'
associatedName='libW20070105-114650.so'/>
<Query id='Data_services.WatercraftKeys.5' suspended='1'
error='Loading Data Only - cannot run query' wuid='W20070123-114242'
associatedName='libW20070123-114242.so'/>



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

Date: Thu, 01 Mar 2007 15:10:38 -0700
From: Scott Bryce <sbryce@scottbryce.com>
Subject: Re: Expressing AND, OR, and NOT in a Single Pattern
Message-Id: <WvmdnXh0ZtXD0nrYnZ2dnUVZ_smonZ2d@comcast.com>

usaims wrote:

> My objective is to print only lines that have 'suspended' but not
> 'Data_services'.

I prefer to use index for something like this.

> It is still printing lines with 'suspended' and
> 'Data_services' in the same line. So, ideally, this script should
> print any lines. Correct me if I am wrong.

There are no lines in your given data that meet your criteria.

Here's my shot at it...

use strict;
use warnings;

while (<DATA>)
{
	next if index ($_, 'Data_services') > -1;
	print $_ if index ($_, 'suspended') > -1;
}

__DATA__
<Query id='Data_services.LSSI_Weekly.42' suspended='1' error='Loading 
Data Only - cannot run query' wuid='W20070227-140132' 
associatedName='libW20070227-140132.so'/>
<Query id='Data_services.SSNMapKeys.14' suspended='1' error='Loading 
Data Only - cannot run query' wuid='W20070105-115230' 
associatedName='libW20070105-114650.so'/>
<Query id='Data_services.WatercraftKeys.5' suspended='1' error='Loading 
Data Only - cannot run query' wuid='W20070123-114242' 
associatedName='libW20070123-114242.so'/>
<Query id='Other_services.SSNMapKeys.14' suspended='1' error='Loading 
Data Only - cannot run query' wuid='W20070105-115230' 
associatedName='libW20070105-114650.so'/>





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

Date: 01 Mar 2007 22:10:51 GMT
From: xhoster@gmail.com
Subject: Re: Expressing AND, OR, and NOT in a Single Pattern
Message-Id: <20070301171617.216$Gu@newsreader.com>

"usaims" <usaims@yahoo.com> wrote:
> I'm having a little problem with this example in the Perl Cookbook.
>
> True if pattern BAD does not match, but pattern GOOD does:
> /(?=(?:(?!BAD).)*$)GOOD/s

Every character from the start of the match to the end of the string
has to not (be the start of a) match to BAD.  However, if BAD occurs before
GOOD, the regex can still match, simply by not initiating the match until
after the B of BAD.

You want to the forced exclusion to start at the beginning of the string
and run to the end:

/^(?=(?:(?!BAD).)*$).*GOOD/;

But I'd just use two different regex.

Xho

-- 
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service                        $9.95/Month 30GB


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

Date: 1 Mar 2007 14:18:58 -0800
From: "h3xx" <amphetamachine@gmail.com>
Subject: Re: Expressing AND, OR, and NOT in a Single Pattern
Message-Id: <1172787538.472439.67220@z35g2000cwz.googlegroups.com>

I like doing things in one line:

print grep { /suspended/ && ! /Data_services/ } <DATA>;



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

Date: 1 Mar 2007 14:44:08 -0800
From: "h3xx" <amphetamachine@gmail.com>
Subject: Re: FAQ 6.21 What's wrong with using grep in a void context?
Message-Id: <1172789048.615029.15870@k78g2000cwa.googlegroups.com>

On Mar 1, 2:03 pm, PerlFAQ Server <b...@stonehenge.com> wrote:
>     In perls older than 5.8.1, map suffers from this problem as well. But
>     since 5.8.1, this has been fixed, and map is context aware - in void
>     context, no lists are constructed.

Why isn't grep context-aware as well?!? I think of grep as the boring
sister-function of map.

OK, enough complaining. I guess the reason using grep is wasteful in a
void context is that it's meant to get all the lines matching an
expression (or a block of code that evaluates true [read: non-zero]
when executed on $_), very similar to unix grep. It CAN modify the
list elements vicariously through $_ in something like this:

# changes the strings in @my_list and puts the modified lines matching
the s// into @changed_lines
@changed_lines = grep { s/foo/bar/g } @my_list;

 ... and doing it with map has a little different results:

# changes the strings in @my_list and dumps each of them (regardless
of whether s// matched) into
# @duplicate_array. The two arrays are exact duplicates now.
@duplicate_array = map { s/foo/bar/g } @my_list;



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

Date: Fri, 2 Mar 2007 08:20:35 +0800
From: "sonet" <sonet.all@msa.hinet.net>
Subject: how to convert binary to string?
Message-Id: <es7qkj$gr$1@netnews.hinet.net>

ex.
convert "\x00\x0E" to '\x00\x0E' 




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

Date: Fri, 02 Mar 2007 00:35:42 GMT
From: "Jürgen Exner" <jurgenex@hotmail.com>
Subject: Re: how to convert binary to string?
Message-Id: <yjKFh.11091$iF.1165@trndny03>

sonet wrote:
> ex.
> convert "\x00\x0E" to '\x00\x0E'

So you have a character and you want the ASCII (or whatever encoding) code 
point?
See "perldoc -f ord"

Although, that's not what _I_ would call converting binary to string (see 
subject line). That sounds more like you got a number and you want its 
binary representation as a string. For that see "perldoc -f sprintf"

jue 




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

Date: Fri, 02 Mar 2007 01:56:09 GMT
From: "John W. Krahn" <someone@example.com>
Subject: Re: how to convert binary to string?
Message-Id: <ZuLFh.1314$ka5.1232@edtnps90>

sonet wrote:
> ex.
> convert "\x00\x0E" to '\x00\x0E' 

$ perl -le'$_ = "\x00\x0E"; s/(.)/ sprintf q[\x%02X], ord $1 /seg; print'
\x00\x0E


John
-- 
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order.       -- Larry Wall


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

Date: Thu, 01 Mar 2007 21:25:48 +0500
From: Ayaz Ahmed Khan <ayaz@dev.slash.null>
Subject: Re: LWP:Authen:NTLM
Message-Id: <pan.2007.03.01.16.25.46.823104@dev.slash.null>

"Ron T." typed:
> Well I gave it a shot, but it's seemingly hopeless.  I'm getting the
> feeling this kind of method will never work with SharePoint.
> 
> If there's a way I'm not sure, it only returns "Unauthorized" for a
> response to my requests.

I don't know what SharePoint is, but I've got LWP::Authen::NTLM to work
with IIS. The perl code, however, runs on a Linux box in my case.

The description section for LWP::Authen::NTLM on CPAN mentions another
similar module and few incompatible helper modules that need to be watched
out for. It is possible there might be some mismatch or incompatiblity
with regard to that.

-- 
Ayaz Ahmed Khan

A witty saying proves nothing, but saying something pointless gets
people's attention.


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

Date: Fri, 2 Mar 2007 09:46:18 +0530
From: "rajendra" <rajendra.prasad@in.bosch.com>
Subject: opendir function.
Message-Id: <es87tr$5vi$1@news4.fe.internet.bosch.com>

Hello All,
In a script I use opendir() and readdir() functions to read the content of
directory.
I have observed one thing with this.The time taken to read the content get
on better(lesser) with the successive execution of the script
Is there a way I can reduce the time taken to read the content faster using
the above two functions?.

With Rgds,
Raj




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

Date: Thu, 01 Mar 2007 15:38:30 -0800
From: Jim Gibson <jgibson@mail.arc.nasa.gov>
Subject: Re: parse a log file question
Message-Id: <010320071538302689%jgibson@mail.arc.nasa.gov>

In article <1172754917.867774.43110@p10g2000cwp.googlegroups.com>,
<"robertchen117@gmail.com"> wrote:

> Sorry my question should be like this:
> Fri Oct  6 00:00:23 2006: TR_execute_task( Lib/Task: library_name1/
> task_name2 run bywww.hp.comon7 targets, out = 257
> 
> I know I can use $task_hash{$taskinfo} += targets; -->count by lib/
> task name.
> but problems is I also need to count by time:
> output should like this:
> 
> 9:00am - 9:59am
>   8,010  task2 lib3  77 targets     200,345 output
>   3,221  task12  lib3    12 targets  1,530,234 output
> ...
> 
> Do we have hash over hash? What should we implement this?

[Please do not top-post]

Use a second hash to count values by time:

  $time_hash{$time}++;

where $time is your time identifier, such as '9:00am'. For better
efficiency, use an array rather than a hash:

  $time_array[$time]++;

where $time is now a numerical value, such as 0 for 0:00 - 0:59, 1 for
1:00 - 1:59, etc.

 Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
    ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------        
                http://www.usenet.com


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

Date: Thu, 1 Mar 2007 22:57:50 -0600
From: Len Philpot <len@philpot.org>
Subject: Q on regex of LWP::Simple data
Message-Id: <18p2wnf2hexfv$.gfqj1nv2jaiq.dlg@40tude.net>

I've read the FAQs (unless proven otherwise!) and examples, etc. but
don't know why this doesn't work...


#!perl	# use your shebang of choice, this was on Windows

use warnings;
use strict;
use LWP::Simple;

# unwrap this line
my @cachepage = \
get('http://www.geocaching.com/seek/cache_details.aspx?wp=GC115K4');

# line in question (in @cachepage) looks like :
# <p><span id="ShortDescription">Should be quick and easy.</span></p>

foreach my $line (@cachepage)
{
    if($line =~ /Should be quick/)
    {
        print("$line");
    }
}


Instead of printing only the line that contains "Should be quick", it
prints every line. Breaking it down to a minimum, I tried :

#!perl

use warnings;
use strict;

my @a = qw(one two three four five fiver);

foreach my $line (@a)
{
    if($line =~ /five/)
    {
        print("$line\n");
    }
}

Which, of course, prints :

five
fiver

 ... as expected. What's different except maybe the input data? Are the
tags throwing a wrench in things?

My apologies in advance if this is a FAQ or simple logical error. I'm
very much in learning mode with Perl these days.

Thanks!
-- 

 ---- Len Philpot -------- l e n @ p h i l p o t . o r g  (no spaces)
 ------- ><> ------------- http://pages.suddenlink.net/lenphilpot/


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

Date: Fri, 02 Mar 2007 16:02:12 +1100
From: Iain Chalmers <bigiain@mightymedia.com.au>
Subject: Re: Q on regex of LWP::Simple data
Message-Id: <bigiain-5B272C.16021102032007@news.usenetmonster.com>

In article <18p2wnf2hexfv$.gfqj1nv2jaiq.dlg@40tude.net>,
 Len Philpot <len@philpot.org> wrote:

> I've read the FAQs (unless proven otherwise!) and examples, etc. but
> don't know why this doesn't work...
> 
> 
> #!perl	# use your shebang of choice, this was on Windows
> 
> use warnings;
> use strict;
> use LWP::Simple;
> 
> # unwrap this line
> my @cachepage = \
> get('http://www.geocaching.com/seek/cache_details.aspx?wp=GC115K4');
>

I don't think @cachepage contains what you think it contains...

try adding:

use Data::Dumper;
print Dumper \@cachepage;

after that line.

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: Thu, 1 Mar 2007 22:42:23 +0100
From: "Lambik" <lambik@kieffer.nl>
Subject: Re: Rindex used to find end of a string
Message-Id: <45e747d3$0$728$5fc3050@dreader2.news.tiscali.nl>

"Paul.Lee.1971" <Paul.Lee.1971@googlemail.com> wrote in message
news:1172684064.677005.58400@8g2000cwh.googlegroups.com...
> Hi all,
> I have a sequence of strings, for instance
> "Hello, World                     "
> "My First Perl Test    "
> "Exit(0)                                  "
>
> - as you can see, the strings are all different lengths. Is there a
> way to use rindex to find out the last non-whitespace character in the
> string? I'd like to be able to use a general function to return
> "Hello, World", "My First Perl Test" and "Exit(0).
>
this is a faq

perldoc -q "blank space"

after which you can check the length with:

perldoc -f length




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

Date: Thu, 01 Mar 2007 10:20:26 -0600
From: "J. Gleixner" <glex_no-spam@qwest-spam-no.invalid>
Subject: Re: sysread & eof
Message-Id: <45e6fd5a$0$25783$815e3792@news.qwest.net>

lucas wrote:
> I'm use IO::Socket on linux to read from a webpage.  I don't want to use
> LWP::Simple.  [...]

Of course not, otherwise you'd be finished and working on something else 
by now.


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

Date: 1 Mar 2007 20:16:11 GMT
From: anno4000@radom.zrz.tu-berlin.de
Subject: Re: Too complex data structure?
Message-Id: <54oqkbF21gq51U1@mid.dfncis.de>

robertchen117@gmail.com <robertchen117@gmail.com> wrote in comp.lang.perl.misc:
> Please ignore my first post for not clear question, here is my issue:
> 
> My log file with a long list like this item:
> Fri Oct  6 00:00:23 2006: TR_execute_task( Lib/Task: library_name1/
> task_name2 run by www.hp.com on 7 targets, out = 257
> 
> I know I can use $task_hash{$taskinfo} += targets; -->count by lib/
> task name. Also need count the bytes according to the lib/task name.
> And problems is I also need to count by time:
> output should like this:
> 
> 9:00am - 9:59am
>   8,010  task2 lib3  77 targets     200,345 output
>   3,221  task12  lib3    12 targets  1,530,234 output
> ...
>  10:00am - 10:59am
> ....
> 
> This would need very complex data structure, please help me how to do?
> Do we have hash over hash? What should we implement this?

The separation in time slices presents no additional complexity in the
data structures.  Just read the log file line by line, accumulating
data, until the date/time is beyond the current interval.  Then print
and reset the accumulated data and start again with the last sentence
read.

That works if the file is sequential in time, which log files usually
are.

Anno

Anno


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

Date: Thu, 01 Mar 2007 15:35:20 -0800
From: Jim Gibson <jgibson@mail.arc.nasa.gov>
Subject: Re: Too complex data structure?
Message-Id: <010320071535201291%jgibson@mail.arc.nasa.gov>

In article <1172755741.228922.36770@k78g2000cwa.googlegroups.com>,
<"robertchen117@gmail.com"> wrote:

> Please ignore my first post for not clear question, here is my issue:

Too late. I already responded to your second post in your first thread.
Please keep all responses in one thread in that thread.

Thanks.

-- 
Jim Gibson

 Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
    ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------        
                http://www.usenet.com


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

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


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