[18038] in Perl-Users-Digest
Perl-Users Digest, Issue: 198 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Feb 2 06:05:36 2001
Date: Fri, 2 Feb 2001 03:05:11 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <981111910-v10-i198@ruby.oce.orst.edu>
Content-Type: text
Perl-Users Digest Fri, 2 Feb 2001 Volume: 10 Number: 198
Today's topics:
Re: .plx Script Won't Read Remote Directories <doronn@nrt.co.il>
add 20 minutes to local time an d put into .txt <bert.van.geffen@philips.com>
Re: add 20 minutes to local time an d put into .txt (Bernard El-Hagin)
Re: Calling all DB_File Gurus. <Jodyman@usa.net>
Re: CGI Script Error - Premature end of script headers <Jodyman@usa.net>
Re: CGI Script Error - Premature end of script headers dtbaker_dejanews@my-deja.com
CGI: flushing Perl output to browser <gtoomey@usa.net>
Re: copy construct reference to anonymous scalar <iboreham@my-deja.com>
dealing with the gaps (Ange)
embed perl, but... <hauhau@seed.net.tw>
Re: first real PERL script . . . <krahnj@acm.org>
Help: Script only runs if ' -w' is on line 1 <ron@savage.net.au>
How to calculate a gantt chart? <akurczyn@hotmail.com>
Re: Linux does reclaim memory from perl <Jerome.Abela@free.fr>
LWP and Referer Problem vountas@my-deja.com
Re: Newbie question 1st script <doronn@nrt.co.il>
Opera Hotlist To HTML <daniel42@web.de>
Perl 5.6 Solaris (2.6 & 2.8) memory problems pangloss@stefan.com
Possible buggy behavior in File::Find (Ben Okopnik)
regexp doesn't behave as expected (Was: my $varName bec <SeeReply-To@eaglerock-is.com.invalid>
Re: regexp doesn't behave as expected (Was: my $varName <iboreham@my-deja.com>
Regexpr help jimbob4334@my-deja.com
Re: Regexpr help <wyzelli@yahoo.com>
Re: Regexpr help <mbudash@sonic.net>
Re: replace a matched string <iboreham@my-deja.com>
Re: simple split question.... <iboreham@my-deja.com>
Start Batch-File .bat with Perl (Windows2000/IIS) <ke@idm.ch>
Sting validation question...? pkey@sghms.ac.uk
Re: Sting validation question...? <tom@power.net.uk>
Re: Sting validation question...? (Bernard El-Hagin)
Re: undef question <jdf@pobox.com>
Re: undef question <joe+usenet@sunstarsys.com>
Why can't my DTD work? ()
Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Thu, 1 Feb 2001 10:49:12 +0200
From: "Doron Nissimi" <doronn@nrt.co.il>
Subject: Re: .plx Script Won't Read Remote Directories
Message-Id: <95b7us$qa9$1@news.netvision.net.il>
Try running your `command` via a regular command-line, and it will not work
either.
The dir command itself simply does not work with UNC paths.
Try:
while (<//CAGLN1-s12/Global/NCCI/Data/*.*>) {
push (@dirContents, "$_");
}
Cheers,
Dozy
<rch1m3d3s@my-deja.com> wrote in message news:95a3te$7cf$1@nnrp1.deja.com...
> Dear Readers:
>
> I'm trying to do something which should be simple, but just won't
> happen. I just want to read the contents of a directory on another
> machine into an array, like so:
>
>
> @dirContents = `dir \\\\CAGLN1-s12\\Global\\NCCI\\Data`;
>
> print join('', @dirContents);
>
>
> This works fine from the command-line. However, when called from a
> browser as a .plx script, I get the 'Access Denied' message. Now it
> sounds like a permissions issue. The script is running under a user
> with read privileges to that directory. Still no luck.
>
> Is it possible that PerlIS.dll must run as a privileged user as well?
> I'm clueless.
>
>
> Sent via Deja.com
> http://www.deja.com/
------------------------------
Date: Fri, 02 Feb 2001 09:35:47 +0100
From: bert van Geffen <bert.van.geffen@philips.com>
Subject: add 20 minutes to local time an d put into .txt
Message-Id: <3A7A7163.CEC6896F@philips.com>
Hello,
I'am new with perl.
Does somebody how I can add 20 minutes to the local time and put the
result into a .txt files
Thanks in front.
------------------------------
Date: Fri, 2 Feb 2001 08:46:15 +0000 (UTC)
From: bernard.el-hagin@lido-tech.net (Bernard El-Hagin)
Subject: Re: add 20 minutes to local time an d put into .txt
Message-Id: <slrn97ksum.2q0.bernard.el-hagin@gdndev25.lido-tech>
On Fri, 02 Feb 2001 09:35:47 +0100, bert van Geffen
<bert.van.geffen@philips.com> wrote:
>Hello,
>
>I'am new with perl.
>
>Does somebody how I can add 20 minutes to the local time and put the
>result into a .txt files
Read the following documentation freely available with your Perl
distribution:
perldoc -f localtime
perldoc -f open
and maybe:
perldoc -f perlopentut
Cheers,
Bernard
--
#requires 5.6.0
perl -le'* = =[[`JAPH`]=>[q[Just another Perl hacker,]]];print @ { @ = [$ ?] }'
------------------------------
Date: Fri, 2 Feb 2001 01:03:33 -0500
From: "Jody Fedor" <Jodyman@usa.net>
Subject: Re: Calling all DB_File Gurus.
Message-Id: <95dijh$gr7$1@plonk.apk.net>
Anno Siegel wrote in message <95bj9j$f6n$1@mamenchi.zrz.TU-Berlin.DE>...
>
>Try $c = tie @database, 'DB_File', ....;
>
>and then do whatever you want to do to $c. This way you will be
>modifying the actual object the database is tied to.
>
>Anno
Thanks, and I'll do that! First time using DB_File and the docs aren't that
good.
Jody
------------------------------
Date: Fri, 2 Feb 2001 01:13:08 -0500
From: "Jody Fedor" <Jodyman@usa.net>
Subject: Re: CGI Script Error - Premature end of script headers
Message-Id: <95dj5g$hn4$1@plonk.apk.net>
Snow Wolf wrote in message <3A7A3D0E.CDF99844@pc.jaring.my>...
Hi,
I checked my server error log file and obtained the error message :
Premature end of script headers:
/home/mydomainname/www/cgi-bin/myscript.cgi
and tried it,still getting the same error.....
Premature end of script headers:
/home/mydomainname/www/cgi-bin/myscript.cgi
#!/usr/bin/perl -w
use strict;
are you using the above in your script? This should give you more
detailed
error listings in your error log.
Jody
------------------------------
Date: Fri, 02 Feb 2001 06:28:38 GMT
From: dtbaker_dejanews@my-deja.com
Subject: Re: CGI Script Error - Premature end of script headers
Message-Id: <95dk2i$8rn$1@nnrp1.deja.com>
In article <3A7A3D0E.CDF99844@pc.jaring.my>,
Snow Wolf <louieyk@pc.jaring.my> wrote:
> changed the user permission of my cgi-bin directory and my CGI script
to readable & executable.
> Then I called my CGI script again, but this time the server returned
> error with a message, the message was that "Internal Server
Error...
------------------------
- this probably has little to do with perl, and it almost certainly an
error in configuration on your webhost. ISPs support cgi in very
different ways... requiring different naming conventions, path aliases
to call scripts, sometimes you have to contact them to enable scripting,
and other site-specific issues. You REALLY need to work these details
out with your webhost, the newsgroup cant help you with that.
- DONT post in html.... just use plain text.
- there are newsgroups out there for cgi and server questions that have
a lot more information for these types of questions. try searching the
groups for *cgi*
- if you are going to write scripts to use on the web... you would be
well advised to download and install a localhost webserver on your
machine to test with. A good (free and easy to install) one is at
www.xitami.com This really is the only way to effectively test the
server-client and script interaction.
- if it turns out your current host doesnt really support cgi scripting,
consider changing hosts.... there are some good low-cost ones that do a
great job supporting perl and user scripting environments at low cost.
One of the best ones I found so far is www.AffordableHost.com
Dan
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Fri, 2 Feb 2001 19:05:29 +1000
From: "Gregory Toomey" <gtoomey@usa.net>
Subject: CGI: flushing Perl output to browser
Message-Id: <Hyue6.15124$65.80200@newsfeeds.bigpond.com>
I am writing Perl CGI scripts that generate a page of HTML,
then do some file manipulation/cleanup.
The output appears only after the script exits.
Is there any way to flush standard output to the browser?
My thoughts are to close the standard output file handle,
or even do a fork().
I am new to Perl and hope there is a simple answer.
I am running Perl 5, Apache, Linux, with IE5 browser.
Thanks in advance,
Gregory Toomey
------------------------------
Date: Fri, 02 Feb 2001 08:57:55 GMT
From: Ian Boreham <iboreham@my-deja.com>
Subject: Re: copy construct reference to anonymous scalar
Message-Id: <95dsqg$fsu$1@nnrp1.deja.com>
In article <slrn97hkfl.n8t.mgjv@verbruggen.comdyn.com.au>,
mgjv@tradingpost.com.au wrote:
> Because I can't even imagine what would go there. there is no index,
> key, or arguments to get to a scalar or filehandle.
It would just have to be some kind of placeholder.
> -> doesn't really apply to what the reference refers to, it applies to
> the reference itself. It dereferences it. $ref->[1] is more or less
> syntactic sugar for ${$ref}[1]. A dereference of a scalar reference
> looks like ${$ref}. There is nothing extra that could be applied to
> the arrow operator to make it work, and I guess $ref-> without
> anything extra was just considered too ugly, weird or difficult to
> make it work.
I'm sure it could be ambiguous, too. The compiler would want to pick up
the next thing if it looked appropriate.
Say you tried something like:
print $ref-> [23];
Would that mean "dereference $ref, and treating the result as a
filehandle, stringify and print the anonymous hash containing 23", or
print the 24th element of @ref"?
> I've tried to think of something to put there, and what it would mean,
> but I can't really imagine it...
Well, $ref->x always returns a scalar. The existing versions need to
indicate how to find the scalar. With a scalar ref, it's not to hard to
find the only available scalar value, so anything would do (e.g.
$ref->"", or $ref->0), and it would mean "the value" rather than "the
24th value".
I have occasionally felt something like this would be good, mainly for
symmetry (practical as well as elegant), but it's not a great loss not
having it.
Regards,
Ian
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Fri, 2 Feb 2001 09:05:07 +0000
From: ange@cybernospampage.co.uk (Ange)
Subject: dealing with the gaps
Message-Id: <1eo70mt.988xdf1lzc5hyN%ange@cybernospampage.co.uk>
I'm trying to using a perl script to take the output from a javascript
shopping cart
eg itemname 1, quantity=" ", Cost=" "
itemname 2, etc
and reproduce it on a fresh page in order to be able to just have the
final page over an SSL.
The product names contain gaps ie R679:Adraplan Model 769, but
unfortunately the perl script only produces R679:Adraplan.
It works if I change the product name to R679:Adraplan-Model-769.
Can anyone sugggest a reason for this happening, or location for a
script which can do the job?
Cheers, ange
------------------------------
Date: Fri, 2 Feb 2001 13:34:38 +0800
From: "hauhau" <hauhau@seed.net.tw>
Subject: embed perl, but...
Message-Id: <95dgms$7ul@netnews.hinet.net>
I want to embed perl into my program, BUT i don't want the perl56.dll.
Because I can't use dll in my system. What should I do to compile the perl
source into
one perl.exe that needn't perl56.dll to run ?
------------------------------
Date: Fri, 02 Feb 2001 10:18:25 GMT
From: "John W. Krahn" <krahnj@acm.org>
Subject: Re: first real PERL script . . .
Message-Id: <3A7A8A72.C4B97EA0@acm.org>
"Stephen S." wrote:
>
> Hey,
Hi
> This is a copy of my first real PERL script. I was wondering
> if someone would take a look at it and make any suggetions about it.
> The scripts works and run with no forseeable problems but I would like
> to see if there was a different way of doing all or any of this.
> Basically it takes a list of files with nul extentions (files.new
> created by a dir /b *. >> files.new) and creates a DBf file readable
> by a certain program. TIA
>
> Stephen
#!/usr/bin/perl -w
use strict;
> #A listing of the files to be imported into Companion . . .
> #Plain text, no extentions between 5 and 8 characters . . .
> $filename ="files.new";
my $filename = 'files.new';
> $out_file = "> btch_clm.dbf";
my $out_file = '> btch_clm.dbf';
> open (FILE, $out_file) || die "[NEW MAIL]Can't open new mail list.
> Aborting . .";
open FILE, $out_file or die "[NEW MAIL]Can't open $out_file: $! Aborting
. .";
# You should include the $! variable
# to indicate why the error occurred.
# and usually the file name as well.
> print "\nOpened output file sucsssfully . . .\n";
>
> #assigning "Top of file" to an array for later printing
my @top = (
"\x03\x65\x01\x1c\xff\x00\x00\x00\xc1\x00\x4b\x00\x00\x00\x00\x00",
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\x44\x41\x54\x45\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00",
"\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\x54\x49\x4d\x45\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00",
"\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\x44\x45\x53\x43\x52\x49\x50\x54\x00\x00\x00\x43\x00\x00\x00\x00",
"\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\x46\x49\x4c\x45\x5f\x4e\x41\x4d\x45\x00\x00\x43\x00\x00\x00\x00",
"\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
"\x44\x45\x4c\x45\x54\x45\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00",
"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
);
# No need for a marker at the end of the array.
> #assigning "End of Record" to an array for later printing
> @EOR = (
> "\x0d"
> );
my $EOR = 0x0D;
> #assigning "End of file" to an array for later printing
> @EOF = (
> "\x0a"
> );
my $EOF = 0x0A;
# These two would be simpler as scalars instead of arrays.
>
> #Printing the top of the file . . .
> #Followed by an EOR Flag (seperator) . . .
> $i = 0;
> $done = "no";
>
> while ($done eq "no") {
> if ($top[$i] eq "END") {
> $done = "yes";
> } else {
> print FILE $top[$i];
> $i = ++$i;
> }
> }
# Replace these 11 lines with:
print FILE @top;
# Note that print FILE "@top"; is _NOT_ the same as print FILE @top;
> print FILE $EOR[0];
# Changed this to scalar so:
print FILE $EOR;
> print "Sucessfully printed TOP of file . . .\n";
>
> open (FILELIST, $filename) || die "[OLD MAIL]Can't open old mail list.
> Aborting . .";
# Same changes as with previous open
open FILELIST, $filename or die "[OLD MAIL]Can't open $filename: $!
Aborting . .";
> while ($file = <FILELIST>) {
> chomp $file;
> $file_length = length($file);
while ( <FILELIST> ) {
chomp;
$file_length = length;
> if ($file_length > 8) {die "\n\n[OLD MAIL]File names are too long.
> Aborting . .";}
die "\n\n[OLD MAIL]File names are too long. Aborting . ." if
$file_length > 8
die "[OLD MAIL]File names are too short.\nThere may also be a
problem with the FILES.NEW. Aborting . ." if $file_length < 5;
> if ($file_length eq 8) {
> date_time_stamp();
> print FILE "$file. N";
> } elsif ($file_length eq 7) {
> date_time_stamp();
> print FILE "$file . N";
> } elsif ($file_length eq 6) {
> date_time_stamp();
> print FILE "$file . N";
> } elsif ($file_length eq 5) {
> date_time_stamp();
> print FILE "$file . N";
> } else {
> die "[OLD MAIL]File names are too short.\nThere may also be a
> problem with the FILES.NEW. Aborting . .";
> }
date_time_stamp();
printf FILE '%-8s. N', $_;
> }
> print "Sucessfully printed mail records to file . . .\n";
>
> #Printing corect end of file flag
> print FILE $EOF[0];
# Changed this to scalar so:
print FILE $EOF;
> print "Sucessfully printed EOF flag . . .\n";
> close FILE;
> close FILELIST;
>
> sub date_time_stamp {
> #Dealing with Time and Date . . .
>
> #load variable with localetime values
> ($sec,$min,$hour,$dayofmonth,$month,$year,$wday,$yday,$isdst) =
> localtime(time);
my ($sec,$min,$hour,$dayofmonth,$month,$year,$wday,$yday,$isdst) =
localtime(time);
> #year and month start at 0 due to perl being unix native
>
> $year = ($year +1900);
> $month = ($month + 1);
>
> #print out date correctly
>
> if ($month >= 10 && $dayofmonth >= 10) {
> print FILE " $year$month$dayofmonth";
> } elsif ($month >= 10 && $dayofmonth <= 9) {
> print FILE " $year$month","0","$dayofmonth";
> } elsif ($month <= 9 && $dayofmonth >= 10) {
> print FILE " ";
> print FILE (($year),"0",($month),$dayofmonth);
> } elsif ($month <= 9 && $dayofmonth <= 9) {
> print FILE " ";
> print FILE (($year),"0",($month),"0","$dayofmonth");
> }
printf FILE ' %04d%02d%02d', $year + 1900, $month + 1, $dayofmonth;
> #String 1 date & time stamp and report name
> #Basically fills in a leading ")" for minutes and hours less than 10
> if ($min >= 10 && $hour >= 10) {
> print FILE ($hour);
> print FILE ":",($min)," AMBATCH REPORT (OLD)
> ";
> } elsif ($min <= 9 && $hour >= 10) {
> print FILE ($hour);
> print FILE ":","0",($min)," AMBATCH REPORT (OLD)
> ";
> } elsif ($min >= 10 && $hour <= 9) {
> print FILE "0",($hour);
> print FILE ":",($min)," AMBATCH REPORT (OLD)
> ";
> } elsif ($min >= 10 && $hour <= 9) {
> print FILE "0",($hour);
> print FILE ":","0",($min)," AMBATCH REPORT (OLD)
> ";
> }
printf FILE '%02d:%02d AMBATCH REPORT (OLD)', $hour, $min;
> }
John
------------------------------
Date: Fri, 2 Feb 2001 21:05:36 +1100
From: "Ron Savage" <ron@savage.net.au>
Subject: Help: Script only runs if ' -w' is on line 1
Message-Id: <7Mue6.1029$%3.33689@ozemail.com.au>
This is under Linux, Perl 5.005.3.
vim says it's a Unix file format, not DOS.
Without ' -w' on line 1, I get
bash: ./x.pl: No such file or directory
With ' -w' on line 1, it runs.
Line 1 is
#!/usr/bin/perl
'which' reports perl in the expected place: /usr/bin/perl.
--
Cheers
Ron Savage
ron@savage.net.au
http://savage.net.au/index.html
------------------------------
Date: Thu, 1 Feb 2001 23:28:47 -0600
From: "Alejandro Kurczyn" <akurczyn@hotmail.com>
Subject: How to calculate a gantt chart?
Message-Id: <3a7a4614@excalibur.gbmtech.net>
I need to represent several tasks to be made during the year in a format
similar to a gantt chart, using a resource name and then 365/366 (depending
on year) days. Each day marked with a specific color according to the number
of tasks to do. I already have the chart created (using GD), and it works
fine. However, the algorithm to calculate the workload is kind of clumsy:
For each resource read from a file (a resource/task record) I get the julian
start and end day, and do this:
for ($i=$start;$i<=$end;$i++) { # For each task day, add a task to it
@{$resource}[$i]++
}
This gets me an array of days for each resource, and the number of tasks on
each day. At the end, that data gets mapped into a PNG file with the
resource name and 365/366 rightmost pixels colored according to the number
of tasks (no color=notasks, green=1 task, yellow=2 tasks, red=3 or more
tasks). To do this I scan each resource's array and paint pixel by pixel
based on the day's number of tasks.
This is slow for a CGI and 100+ resources.
I bet there is a better way to do this but my Perl experience isn't enough.
Please help me out to improve the speed of this with any tip or advice.
Regards,
-Alejandro
------------------------------
Date: Fri, 02 Feb 2001 09:19:42 GMT
From: Jerome Abela <Jerome.Abela@free.fr>
Subject: Re: Linux does reclaim memory from perl
Message-Id: <3A7A7AA2.7DACF7D@free.fr>
Joe Schaefer wrote :
> I think the keyword here is "may". I get similar results on linux with
> bit vectors (it frees everything), but scalars aren't so fortunate:
>
> $a = "XYZ" x 1000000;
>
> joe 8453 2.0 1.7 2624 1088 pts/1 perl -wl ./try.pl
> joe 8453 12.0 7.9 6536 5008 pts/1 perl -wl ./try.pl
> joe 8453 4.0 4.8 4580 3056 pts/1 perl -wl ./try.pl
I could observe similar results. I think "XYZ" x 1000000 allocates a
first memory chunk, which is in turn copied into another one for $a.
That's why my examlple used vec(): no string affectation, no double
allocation.
> > Is it related to some recent changes in perl ? The 'yet' may imply that
> > someone was working on it at the time this item of the FAQ was written ?
>
> I think it's more related to how the memory was originally allocated;
Yes, sure. The main difficulty to release memory to the OS, is that you
can only release memory at the end of your memory space, so you need to
be able to move objects around to make it happen.
Perl does have a garbage collector. If it also has a ref list (not only
a ref count), it can move memory chunks around, and release unused
memory on the long term. My question is: is it done ?
Jerome.
------------------------------
Date: Fri, 02 Feb 2001 08:57:11 GMT
From: vountas@my-deja.com
Subject: LWP and Referer Problem
Message-Id: <95dsp6$fsp$1@nnrp1.deja.com>
Hi,
I want to adapt the "HTTP_REFERER" (and "...USER_AGENT") via CGI-
script. I found the following conversation in this NG:
>> Is there a way to set a specific URL as a referer
>> when asking for a page using LWP::UserAgent?
>> For example, when I access a script from a page,
>> my browser sends the page where the request was
>> made to the script, so the script can use
>> $ENV{'HTTP_REFERER'}. Now, when I make a LWP
>> request, can I also send the page which made the request?
The answer was:
>use LWP::UserAgent;
>my $ua = new LWP::UserAgent;
>my $req = new HTTP::Request( ... );
>$req->header( 'Referer' => 'http://something' );
I checked the perldocs and found that this must be the way to do it.
However, when I use exactly the strategy given above
and I print $ENV{'HTTP_REFERER'} and $ENV{'HTTP_USER_AGENT}
no changes were made (neither as screen-output nor in the webserver-
logs).
Is there a well-known newbie-pitfall? Or are there incompatibilities of
certain LWP-Versions with some other Modules (e.g. CGI etc.)?
Thanks in advance
Marco
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Thu, 1 Feb 2001 10:19:51 +0200
From: "Doron Nissimi" <doronn@nrt.co.il>
Subject: Re: Newbie question 1st script
Message-Id: <95b67r$pns$1@news.netvision.net.il>
The answer to your questions is usually 'yes'.
However, ActiveState offers the PDK for about $125, which includes a program
called PerlApp. This is will compile your script with a Perl interpreter
and output an EXE file (be sure to use the -f switch). The EXE file,
however, is substantially larger than the script.
I use it. It is great.
Cheers,
Dozy
<topdawg@charter.net> wrote in message
news:q9ph7tsiarkjbc1oichcpveha2rqgpdomk@4ax.com...
> I am brand new to Perl. Ok, I have created my first script. nothing
> big. But I want to send it to a friend to run. How does another person
> run Perl scripts. Do they have to have Perl installed on there
> machine? This would be win2k or 95 boxes.
> If I want to run admin scripts on my servers, I would have to have
> PERL installed on those servers.?
>
> Thanks in advance
------------------------------
Date: Fri, 02 Feb 2001 11:45:35 +0100
From: Daniel Loose <daniel42@web.de>
Subject: Opera Hotlist To HTML
Message-Id: <3A7A8FCD.F60F0FBD@web.de>
Hello,
I want to write a little script which converts the opera hotlist file
(.adr, I think) to HTML. (So that I can put my bookmarks on the net and
surf from other places.) But I could not figure out how opera
reconstructs the tree structure of the bookmark folders from the .adr
file. Does anyone here know that?
Sorry if you think that's OT but my hope is that any perl programmer
here has already written such a tool and therefore solved the problem.
Thanx
Daniel
------------------------------
Date: Fri, 02 Feb 2001 05:20:12 GMT
From: pangloss@stefan.com
Subject: Perl 5.6 Solaris (2.6 & 2.8) memory problems
Message-Id: <95dg27$5t3$1@nnrp1.deja.com>
Folks,
I seem to be having a memory problem with Perl 5.6 and Solaris
(versions 2.6 & 2.8). This memory issue doesn't seem to occur when
running the same Perl program under AIX, Linux or Digital Unix.
I have written a web server load test program in Perl 5.6 for my
company. (A detailed description of the modules/bundles used and my
Perl ENV is listed below.) The program creates/simulates a
configurable number of virtual users which mimic the actions of
real-world users accessing one of our in-house test web sites. Each of
the virtual users run in their own separate Perl interpreter (created
using fork).
The problem (under Solaris) is:
Regardless of the number of virtual users running at any given time,
Perl slowly continues to gobble more and more real/virtual
memory. Even one virtual user, if given enough time (defined by a long
test run), can consume all the real/virtual memory available until the
machine crashes.
Initially, I figured I had written some poor/bad/ugly Perl code which
was causing the memory problems. Hence, I rechecked my work and had
several better and more experienced Perl wizards look at my code but
this illuminated no obvious problems. Next, I began testing the same
source code in different environments and this produced some
interesting results. In a nutshell, this behavior doesn't seem to
manifest itself using the same Perl code under AIX, Linux and Digital
Unix. In these environments, the amount of memory the Perl
interpreters grabs is both wholly proportional to the number of
virtual users running at that time AND the memory requirements do NOT
increase over time.
In Specific:
(Under AIX, Linux & Digital Unix)
If we run 100 virtual users, Perl grabs approximately 200 MB of memory
and doesn't seem to ask for any additional memory resources throughout
the life of the test.
(Under Solaris 2.6 & 2.8)
If we run 100 virtual users, Perl grabs approximately 200 MB of memory
and continues to ask for more memory until all resources are exhausted
and the system dies. Even if only 1 virtual user is created, the Perl
interpreters will continue to gobble memory until everything is
exhausted. If I kill/terminate the process, all memory is
instantaneously freed up.
The three Sun machines I have been able to test on all manifest the
offending behavior. The machines are:
sun4u sparc SUNW,Ultra-1, Solaris 2.6, 768MB
sun4u sparc SUNW,Ultra-250, Solaris 2.8, 256MB
sun4u sparc SUNW,Ultra-250, Solaris 2.8, 768MB
All these machines are at the Sun recommended patch levels.
Any info/pointers anyone can give me would be greatly appreciated.
Thanks,
--Stefan
********************************************************************
My source code makes use of the following CPAN modules/bundles:
Bundle-libnet-1.00.tar.Z
Digest-MD5-2.12.tar.Z
HTML-Parser-3.13.tar.Z
MIME-Base64-2.11.tar.Z
Time-HiRes-01.20.tar.Z
URI-1.09.tar.Z
libwww-perl-5.48.tar.Z
********************************************************************
The Perl ENV on the 2.6 machine is:
Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
Platform:
osname=solaris, osvers=2.6, archname=sun4-solaris
uname='sunos sundev1 5.6 generic_105181-19 sun4u sparc sunw,ultra-
1 '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define
use64bitint=undef use64bitall=undef uselongdouble=undef
usesocks=undef
Compiler:
cc='cc', optimize='-O', gccversion=
cppflags='-I/usr/local/include -I/opt/gnu/include'
ccflags ='-I/usr/local/include -I/opt/gnu/include -
D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, usemymalloc=y, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib -L/opt/gnu/lib -
L/opt/SUNWspro/SC5.0/lib '
libpth=/usr/local/lib /opt/gnu/lib /opt/SUNWspro/SC5.0/lib /lib /usr/lib
/usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc -lcrypt -lsec
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib -L/opt/gnu/lib -
L/opt/SUNWspro/SC5.0/lib'
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: 2 Feb 2001 06:29:22 GMT
From: ben-fuzzybear@geocities.com (Ben Okopnik)
Subject: Possible buggy behavior in File::Find
Message-Id: <slrn97kkvs.30l.ben-fuzzybear@Odin.Thor>
File::Find, Perl 5.005_03 under Debian Linux i386
I was writing a quick script that would show the installed packages on a
system, and ran into a problem. I was able to resolve it rather quickly,
but the problem itself made me go "hmmm." Here's the "broken" script:
---------------------------------------------------------------------
#!/usr/bin/perl -w
# Searches the directories in @INC and retrieves the package names
$|=1; # Turns out to be useful for multiple execs
use File::Find qw(find);
print "Searching the \@INC directories...\n";
find (\&wanted, @INC);
@atoz = sort { lc($a) cmp lc($b) } @mods; # "caseless" sort
for $x (@atoz) { if ( $x ne $list[-1] ) { push @list, $x; } }
for $n (1..++$#list) { print $n--, ".\t", $list[$n], "\n"; }
sub wanted {
if ( /\.pm$/ ) {
open ( Mod, $_ ) or die "Unable to open: $!\n";
#**** Here is the problem! ****
while (<Mod>) {
if ( /^ *package +(\S+);/ ) {
push ( @mods, $1 );
last;
}
}
close Mod or die "Unable to close: $!\n";
}
}
---------------------------------------------------------------------
When I run this, I get several _hundred_ of the following warnings:
Unsuccessful stat on filename containing newline at
/usr/lib/perl5/5.005/File/Find.pm line 171.
The referenced line is (what a surprise!) just trying to stat or lstat
the file depending on $Is_VMS and break the result out into variables:
($dev,$ino,$mode,$nlink) = ($Is_VMS ? stat($_) : lstat($_));
Here's the fix:
---------------------------------------------------------------------
sub wanted {
if ( /\.pm$/ ) {
open ( Mod, $_ ) or die "Unable to open: $!\n";
foreach $found (<Mod>) {
if ($found =~ /^ *package +(\S+);/) {
push ( @mods, $1 );
last;
}
}
close Mod or die "Unable to close: $!\n";
}
}
---------------------------------------------------------------------
This one generates no errors. Actually, without the "-w", the first script
works just fine; the thing is, I was trying to figure out the reason for
the behavior (as far as I can tell, it happens every time File::Find hits
a directory) and wasn't getting very far.
Ben Okopnik
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Hating people is like burning down your own house to get rid of a rat.
-- Henry Emerson Fosdick
------------------------------
Date: Fri, 02 Feb 2001 00:25:53 -0600
From: Ray DeGennaro <SeeReply-To@eaglerock-is.com.invalid>
Subject: regexp doesn't behave as expected (Was: my $varName becomes undefined)
Message-Id: <SeeReply-To-A00ED2.00255302022001@[216.227.56.89]>
In article <SeeReply-To-34BE2E.15283901022001@[216.227.56.89]>,
Ray.DeGennaro@eaglerock-is.com wrote:
I usually hate to follow-up my posts, but I tracked down the problem.
This statement, which should leave $destfile unmolested if it starts
with a letter or a number, always sets $destfile to "". I'm still
stumped.
> if ($destfile = ~ /^(\w[\w.-]*)/)
> $destfile = $1;
> }
> else {
> error($q, "Invalid filename; files must start with a letter or a
> number!");
> }
--
.=================================================================.
| =-=-=-=-=-=-= Eagle Rock Information Systems Corp =-=-=-=-=-=-= |
| -=-=-=-=-=-=- web and database business solutions -=-=-=-=-=-=- |
| <http://www.eaglerock-is.com> <mailto:info@eaglerock-is.com> |
| Chicago Area Office: 630-577-7158 (voice) 503-905-8153 (eFax) |
.=================================================================.
------------------------------
Date: Fri, 02 Feb 2001 10:08:39 GMT
From: Ian Boreham <iboreham@my-deja.com>
Subject: Re: regexp doesn't behave as expected (Was: my $varName becomes undefined)
Message-Id: <95e0v5$ipf$1@nnrp1.deja.com>
In article <SeeReply-To-A00ED2.00255302022001@[216.227.56.89]>,
Ray.DeGennaro@eaglerock-is.com wrote:
> This statement, which should leave $destfile unmolested if it starts
> with a letter or a number, always sets $destfile to "". I'm still
> stumped.
>
> > if ($destfile = ~ /^(\w[\w.-]*)/)
^^^
"= ~" should be "=~".
> > $destfile = $1;
> > }
> > else {
> > error($q, "Invalid filename; files must start with a letter or a
> > number!");
\w also includes underscores, not just letters and numbers.
Oh, and please don't paste in such a huge wad of code like in your
original post. Try to narrow it down and show a simple, easily tested
example.
Regards,
Ian
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Fri, 02 Feb 2001 05:50:55 GMT
From: jimbob4334@my-deja.com
Subject: Regexpr help
Message-Id: <95dhrv$776$1@nnrp1.deja.com>
How do I capture the digits on the end of a string like
/usr/test/stuff/stuff0/012323
and assign it to variable number
TIA Jim
--
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Fri, 2 Feb 2001 15:53:52 +0930
From: "Wyzelli" <wyzelli@yahoo.com>
Subject: Re: Regexpr help
Message-Id: <dese6.38$G%5.6180@vic.nntp.telstra.net>
<jimbob4334@my-deja.com> wrote in message
news:95dhrv$776$1@nnrp1.deja.com...
>
> How do I capture the digits on the end of a string like
> /usr/test/stuff/stuff0/012323
> and assign it to variable number
my $string = '/usr/test/stuff/stuff0/012323';
my $num = $1 if $string =~ m/(\d+)$/;
Wyzelli
--
($a,$b,$w,$t)=(' bottle',' of beer',' on the wall','Take one down, pass
it around');
for(reverse(1..100)){$s=($_!=1)?'s':'';$c.="$_$a$s$b$w\n$_$a$s$b\n$t\n";
$_--;$s=($_!=1)?'s':'';$c.="$_$a$s$b$w\n\n";}print"$c*hic*";
------------------------------
Date: Thu, 01 Feb 2001 22:17:31 -0800
From: Michael Budash <mbudash@sonic.net>
Subject: Re: Regexpr help
Message-Id: <mbudash-93B47E.22173101022001@news.pacbell.net>
In article <95dhrv$776$1@nnrp1.deja.com>, jimbob4334@my-deja.com wrote:
> How do I capture the digits on the end of a string like
> /usr/test/stuff/stuff0/012323
> and assign it to variable number
>
one way: (i've assumed you meant "... a variable named 'number'", and
that you _don't_ want the digits to the left of the slah)
$string = '/usr/test/stuff/stuff0/012323';
$string =~ /(\d+)$/;
$number = $1;
hth-
--
Michael Budash ~~~~~~~~~~ mbudash@sonic.net
------------------------------
Date: Fri, 02 Feb 2001 09:55:54 GMT
From: Ian Boreham <iboreham@my-deja.com>
Subject: Re: replace a matched string
Message-Id: <95e079$ica$1@nnrp1.deja.com>
In article <Yppe6.411$Sn3.15609@eagle.america.net>,
garry@zvolve.com (Garry Williams) wrote:
> Use a different match that explicitly matches *only* the part that you
> want replaced instead of the whole string:
>
> s/(book_.*?)\b/$1_buff/g;
This is OK, but I'd prefer:
s/(book_\w+)/$1_buff/g;
which is more explicit (and more concise).
i.e.
$ perl -e '$a = "book_yellow, book_green, book_red"; $a =~
s/(book_\w+)/$1_buff/g; print "$a\n";'
book_yellow_buff, book_green_buff, book_red_buff
We could argue about "+" vs "*"; that would depend on the exact
requirements.
I would, however, recommend avoiding using "." and then trying to
restrain it with word boundaries. In this case it is all right, but
someone modifying the regex could unleash the .*?, or the \b could end
up matching the inverse word boundary of another word. Someone else
might look at the regex and "learn" from it, and then get caught in the
non-greedy quagmire elsewhere.
In general, if you only want a certain type of character to be matched,
specify only that kind.
Regards,
Ian
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Fri, 02 Feb 2001 08:29:48 GMT
From: Ian Boreham <iboreham@my-deja.com>
Subject: Re: simple split question....
Message-Id: <95dr5n$et7$1@nnrp1.deja.com>
In article <iFZd6.180990$f36.7184386@news20.bellglobal.com>,
"D'oh" <aa533@chebucto.ns.ca> wrote:
> Is it possible to split on a specific
> instance of a matched pattern? More
> often than not I only need the string
> to be split on the second instance.
> It's not a big deal to just have it
> split on my pattern and then reassemble
> the string, but I thought if there was
> a way to tell it to split on the
> second match I would take advantage of it.
Well, it's easy enough if you only want to split on the first instance -
just use a LIMIT argument of 2 with split:
$ perl -e '$a = "asddfdfadsadfa"; @f = split /f/, $a, 2; print
join(":", @f), "\n";'
asdd:dfadsadfa
That might also make your job simpler on the second or subsequent
instances: at least you'd only have to reassemble the first part:
$ perl -e '$a = "asddfzzzdfzzadsadfza"; @f = split /(fz+)/, $a, 3;
$end = pop(@f); pop(@f); $start = join "", @f; print "$start:$end\n";'
asddfzzzd:adsadfza
[Note the capturing of the delimiters to allow accurate rejoining.]
Regards,
Ian
Sent via Deja.com
http://www.deja.com/
------------------------------
Date: Fri, 02 Feb 2001 07:36:38 +0100
From: kurt elmiger <ke@idm.ch>
Subject: Start Batch-File .bat with Perl (Windows2000/IIS)
Message-Id: <3A7A5576.A57CFBF2@idm.ch>
Hi there
I had a Web solution which was running on NT/Apache-Webserver
successfully. I moved the project on Windows2000/IIS platform with
following problem. On the new platform rhe Perl scripts are running
successfully but the call for the batch-file doesn't. When I start the
Perl script or the batch-file from a DOS window it works well. So I
think it should also work through the Web-application. In the IIS I
defined that Perl and Batch-files are allowed and joined it to the
matching application.
My Perl script looks like:
#! e:/Perl/bin/perl.exe
print "Content-type: text/html\n\n";
print "<HTML><HEAD><META http-equiv=\"refresh\" content=\"0;
URL=listberech.pl\"></head>";
print "<BODY>Fehler-";
$cmd1 = 'berech.bat ';
system($cmd1);
print "-Endefehler<P><A HREF=\"listberech.pl\">Falls Sie nicht
automatisch weitergeleitet werden - clicken sie
hier.</A></p></BODY></HTML>";
#Programm beenden:
exit(0);
The Batch file berech.bat looks like:
@echo off
SET PROSTARTUP=e:\programme\progress\STARTUP.PF
SET PROCFG=e:\programme\progress\PROGRESS.CFG
SET PROMSGS=e:\programme\progress\PROMSGS
start e:\programme\progress\bin\prowin32.exe ittdi -S ittdiserve -H
studsrv -N TCP -ld ftdb -pf t:\direct\itt.pf -p ieingabe.r -ininame
t:\direct\itt9.ini -db itt -S ittserve -H studsrv -ld ins -pf
t:\direct\itt.pf -db ittmk -S ittmkserve -H studsrv -ld mars -pf
t:\direct\itt.pf
Thanks for any help in this matter.
Best regards,
Kurt - elmiger@hotmail.com
------------------------------
Date: Fri, 02 Feb 2001 10:09:56 +0000
From: pkey@sghms.ac.uk
Subject: Sting validation question...?
Message-Id: <bq1l7ts8bvrk6iqjtl3309nsu3p261ih12@4ax.com>
What regular expression do I need to use to validate that a string
contains at least one integer i.e. it is not made up just of the 26
letters of the alphabet and that it is not just made up of numbers
alone?
thanks
paul
------------------------------
Date: Fri, 02 Feb 2001 10:38:00 +0000
From: Tom Scheper <tom@power.net.uk>
Subject: Re: Sting validation question...?
Message-Id: <3c3l7t8q68f4faqagce33isj1d9m93jo5a@4ax.com>
#! /usr/bin/perl
my $sString=shift || die "No string specified\n";
if ($sString=~m/^([0-9]+[a-z]+|[a-z]+[0-9]+)+$/i)
{
print "String contains only numbers and characters\n";
} else
{
print "String doesn't contain only numbers and/or characters\n";
}
#
# This makes sure sString is made up of only numbers and
# characters both. Hope this helps as a newbie contribution ;]
#
-=Cornelis
On Fri, 02 Feb 2001 10:09:56 +0000, pkey@sghms.ac.uk shed a beam of
light on us:
>What regular expression do I need to use to validate that a string
>contains at least one integer i.e. it is not made up just of the 26
>letters of the alphabet and that it is not just made up of numbers
>alone?
>
>thanks
>
>paul
------------------------------
Date: Fri, 2 Feb 2001 10:55:48 +0000 (UTC)
From: bernard.el-hagin@lido-tech.net (Bernard El-Hagin)
Subject: Re: Sting validation question...?
Message-Id: <slrn97l4hh.2q0.bernard.el-hagin@gdndev25.lido-tech>
On Fri, 02 Feb 2001 10:09:56 +0000, pkey@sghms.ac.uk <pkey@sghms.ac.uk>
wrote:
>What regular expression do I need to use to validate that a string
>contains at least one integer i.e. it is not made up just of the 26
>letters of the alphabet and that it is not just made up of numbers
>alone?
The following is tested on only a couple of cases:
$_ = 'string to search';
print 'Yipee' if /(?:\D\d)|(?:\d\D)/;
Cheers,
Bernard
--
#requires 5.6.0
perl -le'* = =[[`JAPH`]=>[q[Just another Perl hacker,]]];print @ { @ = [$ ?] }'
------------------------------
Date: 02 Feb 2001 00:10:21 -0500
From: Jonathan Feinberg <jdf@pobox.com>
Subject: Re: undef question
Message-Id: <k8797jr6.fsf@pobox.com>
"Kiel R Stirling" <taboo@comcen.com.au> writes:
> If I had data in a variable and I wanted it to go away I would do
> something like $data = ""; which would, I think, undefine $data.
Why do you think that? Where did you read that? Certainly not in the
Perl documentation!
After
$data = "";
$data is defined, and its value is the empty string. What's the
difference? Well
defined $data
is true, though that's rather a circular explanation. There's the
fact that you can
print "\$data has the value '$data'\n";
without getting a warning about the use of an undefined value in a
string concatenation.
> Can I just use the undef function and why should I?
Yes; you can use the undef() function to put the undefined value into
a variable. Why? There are several things in Perl that mean "false"
in a boolean context (in such things as a while loop condition, an if
statement condition, the ?: operator, etc.), but there is only one
undefined value. Therefore it is useful for indicating exceptional
conditions that are distinct from the other false values (which
include the empty string and the number 0).
If you read the perldata doc, you'll find out more about the undefined
value. Also, try
c:\> perldoc -f undef
--
Jonathan Feinberg jdf@pobox.com Sunny Brooklyn, NY
http://pobox.com/~jdf
------------------------------
Date: 02 Feb 2001 00:58:55 -0500
From: Joe Schaefer <joe+usenet@sunstarsys.com>
Subject: Re: undef question
Message-Id: <m366it7hi8.fsf@mumonkan.sunstarsys.com>
Jonathan Feinberg <jdf@pobox.com> writes:
> "Kiel R Stirling" <taboo@comcen.com.au> writes:
>
> > Can I just use the undef function and why should I?
>
> Yes; you can use the undef() function to put the undefined value into
> a variable. Why? There are several things in Perl that mean "false"
> in a boolean context (in such things as a while loop condition, an if
> statement condition, the ?: operator, etc.), but there is only one
> undefined value. Therefore it is useful for indicating exceptional
> conditions that are distinct from the other false values (which
> include the empty string and the number 0).
>
> If you read the perldata doc, you'll find out more about the undefined
> value. Also, try
>
> c:\> perldoc -f undef
>
It's also a useful trick to undef a large variable to free up
some memory:
#!/usr/bin/perl -w
system ("ps u $$");
sleep 1;
my $x = "XYZ" x 1000000; # big variable
my $y = $x; # copied once
system ("ps u $$");
sleep 1;
$y = ""; # line 10
#undef $y; # line 11
system ("ps u $$");
sleep 1;
my $z = $x; # copied twice
system ("ps u $$");
__END__
Here's the usenet-edited output:
USER PID %CPU %MEM VSZ RSS
joe 9987 0.0 3.2 3140 2028
USER PID %CPU %MEM VSZ RSS
joe 9987 37.5 17.1 11936 10824
USER PID %CPU %MEM VSZ RSS
joe 9987 25.0 17.1 11936 10824
USER PID %CPU %MEM VSZ RSS
joe 9987 22.0 21.7 14868 13756
Now commenting out line 10, and uncommenting 11:
USER PID %CPU %MEM VSZ RSS
joe 9992 0.0 3.2 3140 2028
USER PID %CPU %MEM VSZ RSS
joe 9992 41.0 17.1 11936 10824
USER PID %CPU %MEM VSZ RSS
joe 9992 27.3 12.4 9004 7892
USER PID %CPU %MEM VSZ RSS
joe 9992 23.2 17.1 11936 10824
Looks like undef saved ~3MB here.
--
Joe Schaefer
------------------------------
Date: 2 Feb 2001 10:57:39 GMT
From: u8526505@ms27.hinet.net ()
Subject: Why can't my DTD work?
Message-Id: <95e3r3$59p@netnews.hinet.net>
I'm using XML:Parser module but it always ignore my DTD setting.
For example
if I set my DTD like this
<!ELEMENT person (Name+)>
<!ELEMENT Name (CDATA)>
the parser won't give any error message even I lost the <Name> tag.
Do I need more modules to enable this function?
Thanks for help.
Derek
------------------------------
Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 16 Sep 99)
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: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.
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 V10 Issue 198
**************************************