[31849] in Perl-Users-Digest
Perl-Users Digest, Issue: 3112 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Sep 3 00:09:50 2010
Date: Thu, 2 Sep 2010 21:09:06 -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 Thu, 2 Sep 2010 Volume: 11 Number: 3112
Today's topics:
Capture http address of a link in perl <mulshankar@gmail.com>
Re: Capture http address of a link in perl <ben@morrow.me.uk>
Re: FAQ 1.9 How does Perl compare with other languages <ben@morrow.me.uk>
Re: FAQ 1.9 How does Perl compare with other languages <tadmc@seesig.invalid>
Re: FAQ 1.9 How does Perl compare with other languages <tadmc@seesig.invalid>
Re: Multidimensional array <uri@StemSystems.com>
Re: Multidimensional array <ben@morrow.me.uk>
Re: Multidimensional array <ben@morrow.me.uk>
Re: Multidimensional array <jimsgibson@gmail.com>
Re: Multidimensional array <jurgenex@hotmail.com>
Re: Multidimensional array <jurgenex@hotmail.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Thu, 2 Sep 2010 16:46:24 -0700 (PDT)
From: shankar_perl_rookie <mulshankar@gmail.com>
Subject: Capture http address of a link in perl
Message-Id: <158527b3-d976-41ea-8bed-7df85211b955@a17g2000yqi.googlegroups.com>
Hello All,
I am using win32::IEAutomation and trying to automate a website. In
the http page, there is a table with lot of rows having links as well
as text. I am looking for rows, say @rows that have a particular
string, say $string. I want to navigate to links that are present in
@rows. A small example of what I am trying to do:
some_text (link) $string
some_text (link) $other_string
some_text (link) $other_string
some_text (link) $other_string
some_text (link) $string
The address of the link is embedded inside the html page. I want to
navigate to the address of the link present in the first row and fifth
row only. Any suggestions ??
- Shankar
------------------------------
Date: Fri, 3 Sep 2010 01:09:27 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Capture http address of a link in perl
Message-Id: <nuq5l7-dp02.ln1@osiris.mauzo.dyndns.org>
Quoth shankar_perl_rookie <mulshankar@gmail.com>:
>
> I am using win32::IEAutomation and trying to automate a website. In
> the http page, there is a table with lot of rows having links as well
> as text. I am looking for rows, say @rows that have a particular
> string, say $string. I want to navigate to links that are present in
> @rows. A small example of what I am trying to do:
<snip>
>
> The address of the link is embedded inside the html page. I want to
> navigate to the address of the link present in the first row and fifth
> row only. Any suggestions ??
What have you tried, and how did it fail?
Note that you can get a handle to the InternetExplorer.Application
object with ->getAgent, and from there you can call any of the methods
documented in
http://msdn.microsoft.com/en-us/library/aa752084%28v=VS.85%29.aspx ; in
particular, ->Document will give you a DOM document object.
Ben
------------------------------
Date: Fri, 3 Sep 2010 01:12:42 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: FAQ 1.9 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
Message-Id: <q4r5l7-5v02.ln1@osiris.mauzo.dyndns.org>
Quoth PerlFAQ Server <brian@theperlreview.com>:
>
> Some comparison documents can be found at
> http://www.perl.com/doc/FMTEYEWTK/versus/ if you really can't stop
> yourself.
Dead link (or rather, it redirect to perldoc.perl.org).
Ben
------------------------------
Date: Thu, 02 Sep 2010 21:06:53 -0500
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: FAQ 1.9 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
Message-Id: <slrni80ll8.4d9.tadmc@tadbox.sbcglobal.net>
Ben Morrow <ben@morrow.me.uk> wrote:
>
> Quoth PerlFAQ Server <brian@theperlreview.com>:
>>
>> Some comparison documents can be found at
>> http://www.perl.com/doc/FMTEYEWTK/versus/ if you really can't stop
>> yourself.
>
> Dead link (or rather, it redirect to perldoc.perl.org).
All the other FMTEYEWTK links in the pod are to:
http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz
--
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"
The above message is a Usenet post.
I don't recall having given anyone permission to use it on a Web site.
------------------------------
Date: Thu, 02 Sep 2010 21:14:34 -0500
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: FAQ 1.9 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
Message-Id: <slrni80m3l.4d9.tadmc@tadbox.sbcglobal.net>
PerlFAQ Server <brian@theperlreview.com> wrote:
> 1.9: How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
>
> Favorably in some areas, unfavorably in others. Precisely which areas
> are good and bad is often a personal choice, so asking this question on
> Usenet runs a strong risk of starting an unproductive Holy War.
>
> Probably the best thing to do is try to write equivalent code to do a
> set of tasks.
Or find already-written equivalent code to do a task at:
http://rosettacode.org/
Rosetta Code is a programming chrestomathy site. The idea is to
present solutions to the same task in as many different languages as
possible, to demonstrate how languages are similar and different...
--
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"
The above message is a Usenet post.
I don't recall having given anyone permission to use it on a Web site.
------------------------------
Date: Thu, 02 Sep 2010 18:12:31 -0400
From: "Uri Guttman" <uri@StemSystems.com>
Subject: Re: Multidimensional array
Message-Id: <8762yneqwg.fsf@quad.sysarch.com>
>>>>> "PES" == Paul E Schoen <paul@pstech-inc.com> writes:
PES> Maybe I should uninstall the DotCMS host and install an Apache server?
yes, yes, and YES. no reason to use anything but apache. you can do so
many things on your own and not need your external web host for anything
but production.
PES> I'm stuck once again. I want to be able to store a hash of events
PES> sorted by Date (or perhaps DateTime) in a text file, and read back
PES> into the hash where I can add new events or delete old ones. The hash
PES> is defines as:
PES> my %Event_DB = (
PES> $E_Date => {
PES> Date => $E_Date, #This was previously an array
PES> Time => $E_Time,
PES> Title => $E_Title,
PES> Descr => $E_Descr,
PES> },
PES> );
PES> I am storing the data received from the HTML form as follows:
PES> my $filename = "events.txt";
PES> #*** Can't create file in cgi-bin; must create empty file and chmod 777
PES> #unless (-e $filename) { #check for exist
PES> open (EventFile, '>>', $filename)
use a lexical handle for that. safer.
open( my $event_file .... )
PES> or HTMLdie ("File write error: $!");
PES> for my $event (map $Event_DB{$_}, sort keys %Event_DB) {
maybe simpler and cleaner this way:
foreach my $event_date ( sort keys %Event_DB) {
my $event = $Event_DB{$event_date} ;
PES> print (EventFile $event->{Title});
PES> print (EventFile $event->{Date});
PES> print (EventFile $event->{Time});
PES> print (EventFile $event->{Descr});
no need for multiple prints. do that like this:
print $event_file $event->{Title},
$event->{Date}, $event->{Time}, $event->{Desc} ;
but there is nothing separating those values so how will you parse them
out when you read it? i dunno the whole program so maybe there is
something i didn't see. you can so a simple join on tab or , and make a
trivial CSV file. a slice works well here:
print $event_file
join( "\t", @{$event}{qw( Title Date Time Desc)} ), "\n" ;
PES> foreach my $key (sort keys %Event_DB) {
if they were sorted when written to the file, you don't need to sort
again. choose one place to sort them.
i didn't go over the remaining code or your bug as i don't have the time
right now.
uri
--
Uri Guttman ------ uri@stemsystems.com -------- http://www.sysarch.com --
----- Perl Code Review , Architecture, Development, Training, Support ------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------
------------------------------
Date: Fri, 3 Sep 2010 00:58:52 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Multidimensional array
Message-Id: <saq5l7-dp02.ln1@osiris.mauzo.dyndns.org>
Quoth "Paul E. Schoen" <paul@pstech-inc.com>:
>
> I have a localhost web server that was installed by DotCMS. But it only
> displays the default home page and items linked to it. There is a place for
> "Vanity URLs" that supposedly redirect an arbitrary URL to another location,
> but I can't seem to get that to work. I think it needs to redirect to the
> files in the local website, rather than other files on the local machine
> hard drive. The files in the DotCMS directory are very confusing and I can't
> find folder names that work in a URL, such as http://localhost/news-events.
> The only place news-events appears is deep into a path:
>
> C:\dotcms\dotcms\dotsecure\dotcache\livecache.fdb\9\0\7\2\livecache48190c8c-42c4-46af-8d1a-0cd5db894797_colon__forward_news-events_forward_.fdb
>
> Maybe I should uninstall the DotCMS host and install an Apache server?
Yes, probably. If you can find out what's installed on the machine you
will be deploying to, that would be a good choice.
Note that configuring Apache (or any web server) is non-trivial, and
off-topic for clpmisc.
> I'm stuck once again. I want to be able to store a hash of events sorted by
> Date (or perhaps DateTime) in a text file, and read back into the hash where
> I can add new events or delete old ones. The hash is defines as:
>
> my %Event_DB = (
> $E_Date => {
> Date => $E_Date, #This was previously an array
> Time => $E_Time,
> Title => $E_Title,
> Descr => $E_Descr,
> },
> );
You do realise this hash only has one entry, right?
> I am storing the data received from the HTML form as follows:
>
> my $filename = "events.txt";
>
> #*** Can't create file in cgi-bin; must create empty file and chmod 777
Don't do that. In general you shouldn't store your data files anywhere
visible from the web; you *certainly* shouldn't store them under
cgi-bin. You also shouldn't chmod 777 ordinary data files (this is
especially dangerous in cgi-bin): 666 is more than enough, and 600 would
be better. If the CGI is not running as you, but your user and the CGI
user have a group in common, 660 with the correct group might be useful.
> #unless (-e $filename) { #check for exist
Don't do that. (I realise you've commented it out, but in general...)
Web requests can come in at any time, so it is entirely possible that a
second request will create the file in between the -e and the open. If
you actually want 'open for append unless exists' you will need to use
sysopen and pass O_RDWR|O_APPEND|O_CREAT|O_EXCL (and check $! for EEXIST
if the open fails).
> open (EventFile, '>>', $filename)
Don't use global bareword filehandles. They *will* catch you out one day
when you accidentally use the same name in two different places. Use
proper variables instead.
open (my $EventFile, ">>", $filename)
(You will, of course, need to replace 'EventFile' with '$EventFile'
throughout.)
> or HTMLdie ("File write error: $!");
>
> for my $event (map $Event_DB{$_}, sort keys %Event_DB) {
> print (EventFile $event->{Title});
> print (EventFile $event->{Date});
> print (EventFile $event->{Time});
> print (EventFile $event->{Descr});
> }
> close (EventFile);
You're writing to the file, so you need to check the return value of
close.
> # }
>
> This seems to work, although there are no field or record separators.
That would be because you didn't print any :).
> The
> Descr record may contain newlines, so I may need to use other characters for
> separators.
If you just want to write a Perl data structure out to a file and read
it back in again, I'd recommend using the Storable module. It's very
easy to use and very fast.
> I am reading the stored Events like this (which must be wrong);
>
> # Read the existing text file of events
> open (EventFile, '<', $filename)
As above.
> or HTMLdie ("File read error: $!");
> my $Event_DB = <EventFile>;
This reads one line from the file, and puts in in $Event_DB. What were
you trying to do here? (Since you printed out the file with no
delimiters, it would be impossible to read it back into a data
structure.)
> close (EventFile);
>
> I am writing to the HTML file as follows:
>
> # Print to the HTML file (write, append, create)
> open (DATA1, '>', "output.htm")
As above.
I'm not sure you entirely understand how CGI works. If you want to
return a page to the browser, you don't need to write it to a file: just
print a CGI response (which includes a header section) to STDOUT.
> or HTMLdie ("File error: $!");
>
> print DATA1 <<EOF ;
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
*Please* don't use <meta http-equiv> when you could be using real HTTP
headers...
> I think my main problem is the saving and reading of the events.txt file.
> The here-doc and the print loop print the fields of the last record, but
> there is only one execution of the loop.
Well, there's only one record in %Events_DB, so that's not surprising.
> Surely something like this has been done before, but I don't know how to
> find a well-written Perl script for this. I found this, which uses a
> database file, and may be the best option:
>
> http://docstore.mik.ua/orelly/perl/cookbook/ch11_15.htm
>
> use MLDBM qw(DB_File);
> use Fcntl;
> tie(%hash, 'MLDBM', 'testfile.db', O_CREAT|O_RDWR, 0666)
> or die "can't open tie to testfile.db: $!";
The principle advantage of DBMs like DB_File is that they allow you to
work with hashes that won't fit into memory. The point of MLDBM is to
extend the relatively primitive DBM interface to let you store Perl data
structures. It does this by 'freezing' the data structure with Storable.
Since you're working with a tiny hash (you are building the whole thing
in memory in the first place) you would be much better off just using
Storable directly.
> # ... act on %hash
>
> # this doesn't work!
> $hash{"some key"}[4] = "fred";
This 'doesn't work' because of the slight weirdness of MLDBM. It's best
avoided unless you really need it (and even then, IMHO DBM::Deep is a
better solution).
Ben
------------------------------
Date: Fri, 3 Sep 2010 01:01:16 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Multidimensional array
Message-Id: <cfq5l7-dp02.ln1@osiris.mauzo.dyndns.org>
Quoth "Uri Guttman" <uri@StemSystems.com>:
>
> yes, yes, and YES. no reason to use anything but apache.
Ooh, I would have to disagee there... I use nginx for everything now.
(Doesn't do CGI, of course, but to my mind that's a feature.)
Ben
------------------------------
Date: Thu, 02 Sep 2010 17:19:55 -0700
From: Jim Gibson <jimsgibson@gmail.com>
Subject: Re: Multidimensional array
Message-Id: <020920101719552498%jimsgibson@gmail.com>
In article <t6Vfo.38787$yr6.11585@newsfe05.iad>, Paul E. Schoen
<paul@pstech-inc.com> wrote:
> I'm stuck once again. I want to be able to store a hash of events sorted by
> Date (or perhaps DateTime) in a text file, and read back into the hash where
> I can add new events or delete old ones. The hash is defines as:
>
> my %Event_DB = (
> $E_Date => {
> Date => $E_Date, #This was previously an array
> Time => $E_Time,
> Title => $E_Title,
> Descr => $E_Descr,
> },
> );
>
> I am storing the data received from the HTML form as follows:
>
> my $filename = "events.txt";
>
> #*** Can't create file in cgi-bin; must create empty file and chmod 777
> #unless (-e $filename) { #check for exist
> open (EventFile, '>>', $filename)
> or HTMLdie ("File write error: $!");
>
> for my $event (map $Event_DB{$_}, sort keys %Event_DB) {
> print (EventFile $event->{Title});
> print (EventFile $event->{Date});
> print (EventFile $event->{Time});
> print (EventFile $event->{Descr});
> }
> close (EventFile);
> # }
>
> This seems to work, although there are no field or record separators. The
> Descr record may contain newlines, so I may need to use other characters for
> separators.
I presume you have good reason for writing the hash out to a file and
reading it back later. As Uri pointed out, your fields and records are
run together because you have printed them out without any separators.
If one of your fields can have newlines, then how are you going to
determine the end of the record?
>
> I am reading the stored Events like this (which must be wrong);
>
> # Read the existing text file of events
> open (EventFile, '<', $filename)
> or HTMLdie ("File read error: $!");
> my $Event_DB = <EventFile>;
That reads one line from the input file (which may have all the records
in it if it was written by the code shown earlier). If you want to read
all of the records in the file, you need a loop:
while( my $line = <EventFile> ) {
chomp($line);
...
}
You are putting data from the file into the hash. The $Event_DB is a
scalar variable that contains the first line of the file. The %Event_DB
is a hash variable. The contents of the two are not related, and what
is read into $Event_DB will not automatically show up in %Event_DB.
> close (EventFile);
>
> I am writing to the HTML file as follows:
>
> # Print to the HTML file (write, append, create)
> open (DATA1, '>', "output.htm")
> or HTMLdie ("File error: $!");
>
> print DATA1 <<EOF ;
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <title>iframe - Events - Greater Baltimore Group Sierra Club Web
> Site</title>
> </head>
> <body>
> <h1>Events</h1><hr>
> EOF
>
> foreach my $key (sort keys %Event_DB) {
> print DATA1 "<p><h3>$Event_DB{$key}->{Title}</h3>";
> print DATA1 "<h4>Date: $Event_DB{$key}->{Date} Time:
> $Event_DB{$key}->{Time}</h4>";
> print DATA1 "$Event_DB{$key}->{Descr}</p><hr>";
> }
>
> print DATA1 <<EOF ;
> </body>
> </html>
> EOF
>
> close (DATA1);
>
> I think my main problem is the saving and reading of the events.txt file.
> The here-doc and the print loop print the fields of the last record, but
> there is only one execution of the loop.
Well your original hash only contains one element. The code that
appends data to the file doesn't contain any newlines, so you will
never have more than one line. Have you looked at the file? Does it
have more than one line? Can you show us the code where you
> Surely something like this has been done before, but I don't know how to
> find a well-written Perl script for this. I found this, which uses a
> database file, and may be the best option:
>
> http://.../orelly/perl/cookbook/ch11_15.htm
Are you aware that may be an illegal excerpt of a copyrighted book?
>
> use MLDBM qw(DB_File);
> use Fcntl;
> tie(%hash, 'MLDBM', 'testfile.db', O_CREAT|O_RDWR, 0666)
> or die "can't open tie to testfile.db: $!";
>
> # ... act on %hash
>
> # this doesn't work!
> $hash{"some key"}[4] = "fred";
>
> # RIGHT
> $aref = $hash{"some key"};
> $aref->[4] = "fred";
> $hash{"some key"} = $aref;
>
> untie %hash;
That approach is for a big hash (>100,000) containing references. Since
you don't seem to have that problem, you can just use the Storable
module to save a hash and restore it later.
See 'perldoc Storable':
use Storable;
store( \%tEvent_DB, $filename);
Later:
%Event_DB = %{ retrieve($filename) };
--
Jim Gibson
------------------------------
Date: Thu, 02 Sep 2010 18:03:48 -0700
From: Jürgen Exner <jurgenex@hotmail.com>
Subject: Re: Multidimensional array
Message-Id: <5hg086lhd45qk6u08fbu4fuipa9805r2hc@4ax.com>
ccc31807 <cartercc@gmail.com> wrote:
>On Sep 1, 10:10 pm, Jürgen Exner <jurge...@hotmail.com> wrote:
>> It is even handier to have a Perl installation available off-line.
>
>Yes.
>
>> Actually, coming to think of it, it is quite stupid to do any
>> development work on a live web server.
[Losts of irrelevant rambling about different kinds of servers snipped.
Nobody is questioning that doing developement for service X on a machine
that happens to run service Y would most likely not impact service Y]
>Too, you can develop applications on test servers not connected to the
>internet, but accessible internally via TCP/IP,
Absolutely. Developing on a test server has significant advantages over
developing on a live server:
- If you make a mistake you are taking down only the test server, not
the live server with maybe hundreds of thousands of customers
- It is far less likely that crackers can break into the system due to
security holes in the unfinished code, because the system is not open to
the public
- Even if they do manage to break in the rewards are meager: they only
get access to mockup data instead of PII, financial, confidential and
other critical customer data
- You can try your code without risking to majorly screw up your live
customer data
- You can try unusual and rare data combinations without messing up your
live data, e.g. have the fictitious visiting business man in Bangkok
enter his name in Hangul and his current location in full lenght Thai
(http://en.wikipedia.org/wiki/Bangkok#Full_name).
Still, it has some serious drawbacks:
- the test team will be upset because you are changing their test
environment constantly. Therefore there is no way to create a reliable
repro scenario
- management will be upset because the vast majority of bugs found will
be of the kind "Server Error 500: Syntax error in line 42", which could
have been found much much cheaper by running "perl -c" instead of having
a human actually call the site in a browser.
- everyone will be upset because they are blocked from doing anything
until you fix that syntax error. And even worse, nobody knows if you are
actively working on a fix, are taking an urgent leak, or have gone home
for a 2 week vacation.
>with the express
>intention of developing on a 'live' web server.
???
How is developing on a test server related to developing on a live
server? In most critical aspects like who is impacted if something goes
wrong those are two totally different animals.
>In fact, testing on a
>'live' web server is mandatory!
Yes, after you have gone through the full test pass on your test server
you should definitely do an additional test pass or at the very least an
immediate sanity check after you deployed to your live server.
>This doesn't even include considerations such as developing of virtual
>machines.
If virtual or physical doesn't make any difference.
>I agree that it probably isn't best to develop 'live' in the sense
>that your in process code is available live over a WWW connection, but
Oh, so we are in agreement that developing on a live server is a bad
idea? Great!
>this isn't the same as developing on a 'live' web server.
?????
What? For all intent and purpose the live server is connected to and
accessible from the Internet. How else would your customers be able to
reach it (ignoring e.g. private or internal corporate networks for the
moment)?
jue
------------------------------
Date: Thu, 02 Sep 2010 18:11:36 -0700
From: Jürgen Exner <jurgenex@hotmail.com>
Subject: Re: Multidimensional array
Message-Id: <8ei086ljkn53hh189e5a9ea121jlor5gtk@4ax.com>
ccc31807 <cartercc@gmail.com> wrote:
>On Sep 2, 11:02 am, Sherm Pendley <sherm.pend...@gmail.com> wrote:
>> Once again, you're assigning new meaning to terms that disagree with
>> the meaning used by the rest of us, and then trying to argue that it's
>> everyone else's meaning that is wrong. Please stop doing that.
>
>Not so, I merely take words in their literal meaning unless they are
>obviously meant to be taken non literally. JUE said,
>
>>> Actually, coming to think of it, it is quite stupid to do
>>> any development work on a live web server.
>
>I take two things from this: (1) the use of the term 'any development
>work' isn't limited to web apps,
In the context of this thread obviously we are discussing CGI
development.
>I've contracted out three jobs in the past
>year, all on remote servers, and in each case the machine I was hired
>to work on was running a 'live' web server, and I never felt that it
>was stupid to work on the same machine -- but in none of the cases was
>I actually working on a live web site but ancillary applications.
So you were not working on the live server application, were you?
>> A "live" server is what is also called a "production" or "deployment"
>> server. The fact that your "staging," "development," or "test" servers
>> happen to run httpd and are accessible via TCP/IP does not imply that
>> they are "live" - that's not what the word means in this context.
>
>But he didn't say, "it is quite stupid to do web development work on a
>production or deployment web server." If he had meant to say that, I'm
>sure he would.
I did. I explicitely said live server.
>That's what you understood him to say, but it's not
>what he actually said. It seems to be that you have made some
>assumptions that weren't explicity stated in JUE's statement and are
>taking me to task because I don't share your assumptions.
No he isn't. He is interpreting my words exactly as I intended them and
exactly as is customary in the relevant industry.
If you are not familiar with those terms then that is your problem, not
mine or Sherm's.
jue
------------------------------
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:
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
Back issues are available via anonymous ftp from
ftp://cil-www.oce.orst.edu/pub/perl/old-digests.
#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 3112
***************************************