[17906] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 66 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Jan 15 18:14:18 2001

Date: Mon, 15 Jan 2001 15:10:20 -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: <979600220-v10-i66@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Mon, 15 Jan 2001     Volume: 10 Number: 66

Today's topics:
    Re: LWP::UserAgent with HTTP::Cookies not keeping cooki snakedjip@my-deja.com
    Re: LWP::UserAgent with HTTP::Cookies not keeping cooki snakedjip@my-deja.com
    Re: name of var $_ is pointing to? (Abigail)
    Re: Net::POP3 <don@lclcan.com>
        NEWBIE: need help with search spider/crawler (someone of export)
    Re: NEWBIE: need help with search spider/crawler (Abigail)
    Re: Odd sorting behavior... <jpl@research.att.com>
    Re: Odd sorting behavior... <jpl@research.att.com>
    Re: overload not autogenerating as expected (Honza Pazdziora)
    Re: Passing a parameter to a "sort" sub? (Abigail)
        Perl 5.6.0 and File::Basename <randy.galbraith@pegs.com>
    Re: Perl 5.6.0 and File::Basename (Greg Bacon)
    Re: Perl 5.6.0 and File::Basename (Tad McClellan)
    Re: Perl working with Java??? <mischief@velma.motion.net>
    Re: Random Numbers with a Twist <David.Hiskiyahu@alcatel.be>
    Re: Random Numbers with a Twist (Abigail)
    Re: Random Numbers with a Twist (Abigail)
    Re: Random Numbers with a Twist (Craig Berry)
    Re: Remember variables through a form <joe+usenet@sunstarsys.com>
    Re: Returning a filename from FILEHANDLE <mischief@velma.motion.net>
        simple newbie question <illusi0n@REMOVEspeakeasy.net>
    Re: simple newbie question (Rich Lafferty)
    Re: simple newbie question (Eric Bohlman)
        Using hash arrays (?) <EUSWMCL@am1.ericsson.se>
    Re: What do you call the => operator? (Tad McClellan)
    Re: What do you call the => operator? <uri@sysarch.com>
    Re: What do you call the => operator? <bart.lateur@skynet.be>
    Re: What do you call the => operator? (Martien Verbruggen)
        ZIp Code Perl Program <phallicity_2000@yahoo.com>
    Re: ZIp Code Perl Program <kstep@pepsdesign.com>
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

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

Date: Mon, 15 Jan 2001 22:39:30 GMT
From: snakedjip@my-deja.com
Subject: Re: LWP::UserAgent with HTTP::Cookies not keeping cookies ???
Message-Id: <93vu71$8t6$1@nnrp1.deja.com>

Yup, it does work with the Cookies file.

Thanks :-)


In article <wlE86.22244$ag.730319@newsread2.prod.itd.earthlink.net>,
  "Vogelfrei" <zarathustra@enviroweb.org> wrote:
>
> <snakedjip@yahoo.com> wrote in message news:93tsv9
$igh$1@nnrp1.deja.com...
>
> > So (commenting my code here...), I "GET" the url a first time, I
create
> > the HTTP::Cookies object to store the received session id, and when
I
> > try to re-GET the page, for some reason, $cookie_jar-
>add_cookie_header
> > ($req) doesn't do the job.  The cookie is never sent to the
server.  In
> > fact, the $cookie_jar->as_string method returns NOTHING !
>
> I ran into this same problem recently even though I could verify that
a
> Set-Cookie header was returned.  So I tried the method suggested in
the
> "Cookies" section of lwpcook and it worked fine:
>
>     "Some sites like to play games with cookies. By default LWP ignore
> cookies provided by the servers it visit. You                 can
make it
> start collecting them by setting up a cookie jar.
>
>       use LWP::UserAgent;
>       use HTTP::Cookies;
>       $ua = LWP::UserAgent->new;
>       $ua->cookie_jar(HTTP::Cookies->new(file => "lwpcookies.txt",
> autosave => 1));
>
>       # and then send requests just as you used to do
>
>       $res = $ua->request(HTTP::Request->new(GET =>
> "http://www.yahoo.no";));
>
>       print $res->status_line, "\n";
>
>    As you visit sites that send you cookies to keep, then the file
> lwpcookies.txt will grow."
>
>


Sent via Deja.com
http://www.deja.com/


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

Date: Mon, 15 Jan 2001 22:36:07 GMT
From: snakedjip@my-deja.com
Subject: Re: LWP::UserAgent with HTTP::Cookies not keeping cookies ???
Message-Id: <93vu0m$8qk$1@nnrp1.deja.com>

I just tries it again with my Dynamic Dns address (from dyndns.org),
and it still doesn't work.

So it doesn't seem to be a domain problem !?!?!


In article <93vgs0$sa5$1@nnrp1.deja.com>,
  shiloam@pacbell.net wrote:
> In article <93tsv9$igh$1@nnrp1.deja.com>,
>   snakedjip@yahoo.com wrote:
> > Hello,
> >
> > Straight to the point, here's my code :
> >
> > use LWP::UserAgent;
> > use LWP::Debug qw(+conns +trace +debug);
> > use HTTP::Cookies;
> > my $ua = new LWP::UserAgent;
> > my $req = new HTTP::Request 'GET','http://<MyIp>:8081/default.asp';
> > my $res = $ua->request($req);
> > my $cookie_jar = new HTTP::Cookies;
> > $cookie_jar->extract_cookies($res);
> > print "\n\nCookies: " . $cookie_jar->as_string . "\n\n";
> >
> > print header;
> > if ($res->is_success) {
> >     my $req = new HTTP::Request 'GET'
> > => 'http://<MyIp>:8081/default.asp';
> >     $cookie_jar->add_cookie_header($req);
> >     $res = $ua->request($req);
> >     if ($res->is_success){
> > 	$response = $res->as_string;
> > 	print $response;
> >     }
> > } else {
> >     print $res->status_line;
> > }
> >
> > THE PROBLEM :
> > -------------
> >
> > When I access this default page with a browser for the first time,
> > since this is a Microsoft ASP page, a cookie is sent to my browser
to
> > identify the session id.  If I "reload" the page in the browser,
that
> > cookie is sent to the server upon its request for it...  I verified
in
> > the server's log, and the cookie appears in it (with the W3C
extended
> > logging enabled in IIS, this is possible...)
> >
> > So far so good.
> >
> > Now, I want to reproduce this behaviour with LWP::UserAgent and
> > HTTP::Cookies.
> >
> > So (commenting my code here...), I "GET" the url a first time, I
> create
> > the HTTP::Cookies object to store the received session id, and when
I
> > try to re-GET the page, for some reason, $cookie_jar-
> >add_cookie_header
> > ($req) doesn't do the job.  The cookie is never sent to the server.
> In
> > fact, the $cookie_jar->as_string method returns NOTHING !
> >
> > WHY ?
> >
> > I tried the same code on another site and it works just fine...
> >
> > Is it because my URL is constructed with a numeric IP instead of a
> > domain name ?
> >
> > Is it because my server is on port 8081 ?
> >
> > Any help would be greatly appreciated.  Thank you for your time.
> >
> > Sent via Deja.com
> > http://www.deja.com/
> >
>
> Cookies are the domain of the Browser as such are client objects under
> the clients control. When a browser 'visits' a site, in other words,
it
> issues a GET request on a URL, it looks at it's cookie table to see if
> it has any matching cookies for that particular 'domain'. However
since
> the only way for the browser to determine the domain is to look at the
> URL, then it is dependent upon it. So yes, therefor, it is that you
are
> using the IP address and not the name, if you change the GET to use
the
> server's name it will work, because the browser will name and set the
> cookie accordingly. If you don't have a resolvable route on that
> machine, just use the 'hosts' file and add that particular server.
>
> There are other dependencies, such as path, but I don't think this is
> your particular issue. Good luck.
>
> Sent via Deja.com
> http://www.deja.com/
>


Sent via Deja.com
http://www.deja.com/


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

Date: 15 Jan 2001 22:38:08 GMT
From: abigail@foad.org (Abigail)
Subject: Re: name of var $_ is pointing to?
Message-Id: <slrn966uug.bbn.abigail@tsathoggua.rlyeh.net>

Bernie Cosell (bernie@fantasyfarm.com) wrote on MMDCXCIV September
MCMXCIII in <URL:news:t5366tkl34jr6baq2ulp9gk4dcfco6ed9v@news.supernews.net>:
`` rgarciasuarez@free.fr (Rafael Garcia-Suarez) wrote:
`` 
`` } If you really want to, you can use reference comparisons :
`` } 
`` }   my ($a,$b,$c) = qw/A B C/;
`` }   foreach ($a,$b,$c) {
`` }     print "a: $a\n" if \$_ eq \$a;
`` }     print "b: $b\n" if \$_ eq \$b;
`` }     print "c: $c\n" if \$_ eq \$c;
`` }   }
`` } 
`` } but, as you see, this is not very convenient.
`` 
`` Indeed -- but as a fun programming problem, I *think* it could be done: I
`` can envision opening up the main:: symbol table and iterating through it
`` (and all nested symtabs, of course0 looking for a reference match.  Of
`` course, if you hit a hash or an array, you then need to continue the
`` iteration "deeper" [since the alias might well be to an element of the
`` array/hash].  Seems like it'd be a pretty complex bit of code, but is
`` probably doable.  You write "whoami(ref)" and it comes back with a string,
`` being the best name it could figure out that matches that ref.


Good luck in finding the variables in the code fragment above in the
symbol table....



Abigail
-- 
perl -wle '(1 x $_) !~ /^(11+)\1+$/ && print while ++ $_'


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

Date: Mon, 15 Jan 2001 15:59:48 -0500
From: Don <don@lclcan.com>
Subject: Re: Net::POP3
Message-Id: <3A6364C4.672329C8@lclcan.com>

This is a multi-part message in MIME format.
--------------73C597A41BF6CD17F79BB3D4
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I found this example code:

Greg Willatt wrote:

> Hi, can anyone possibly point me to a docuementation on using Net::POP3
> to retrieve mail that contains some examples?
> Thanks you :)

--------------73C597A41BF6CD17F79BB3D4
Content-Type: text/plain; charset=us-ascii;
 name="Net-POP3-eg.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="Net-POP3-eg.txt"

#!/usr/bin/perl -w
use strict;

use Net::POP3; 

my $ServerName = "localhost"; 

my $pop3 = Net::POP3->new($ServerName); 
if (!defined $pop3) {die("Couldn't log on to server\n");}

my $UserName = "testpop"; 
my $Password = "testpop2"; 

my $Num_Messages = $pop3->login($UserName, $Password); 
if (!defined $Num_Messages) {die("Bad username or password\n");}

my $Messages = $pop3->list();
my $msg_id; 

foreach $msg_id (keys(%$Messages)) {
  my $MsgContent = $pop3->top($msg_id); 
  print "Message $msg_id:\n";
  PrintList(@$MsgContent); 
} 
$pop3->quit();

sub PrintList 
{ 
  my (@lines) = @_; 
  my ($from, $line, $subject); 

  foreach $line (@lines) { 
    if($line =~ m/^From: (.*)/) {        # if we find "From: " 
      $from = $1;                            # Let's save what follows "From: " 
      $from =~ s/"|<.*>//g;               # Clean up the string 
      $from = substr($from, 0, 39);   # Let's keep it to 40 characters 
    } 
    if($line =~ m/^Subject: (.*)/) {
	$subject = $1; 
	$subject = substr($subject, 0, 29); 
    } 
    last if( defined($subject) && defined($from) ); 
  } 

  print "  From: $from\n  Subject: $subject\n\n";
} 

--------------73C597A41BF6CD17F79BB3D4--



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

Date: Mon, 15 Jan 2001 22:24:13 GMT
From: lashawn@rice.edu (someone of export)
Subject: NEWBIE: need help with search spider/crawler
Message-Id: <3a637785.162874272@news.rice.edu>

Hi.  I posted this on alt.perl firstly, but then I read a note that
said I might have better luck here.
This is my problem.

  I have an access database running with cold
fusion.  What I want is to write something in perl that will basically
grab all the pages on the website, search them for naughty words, [i
think this part could be done by a local script/mod that grepped all
the text files on the server];
 then grab all external pages linked to on this site, search those
(and any internal links within a given site, like bob.com and
bob.com/level1, and possibly bob.com/level1/level2), and *then* grab
*those* external links and search them.  Then it needs to save those
results so it can check against them each time it runs.  And it needs
to run on a schedule.  The major prob is talking to the access
database that has the external links, and persuading cold fusion to
embrace this as a cgi or scheduled process or something.  And the
coldfusion/access combo runs on nt, although that shouldn't be a
problem in running perl.  Any help on how to swing this would be
greatly appreciated.  I am not sure what mods to string together, nor
certain I even need to involve coldfusion or access in it at all.
Heheh.  Anyways.
S.  


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

Date: 15 Jan 2001 22:58:52 GMT
From: abigail@foad.org (Abigail)
Subject: Re: NEWBIE: need help with search spider/crawler
Message-Id: <slrn96705c.bbn.abigail@tsathoggua.rlyeh.net>

someone of export (lashawn@rice.edu) wrote on MMDCXCIV September MCMXCIII
in <URL:news:3a637785.162874272@news.rice.edu>:
%% Hi.  I posted this on alt.perl firstly, but then I read a note that
%% said I might have better luck here.
%% This is my problem.
%% 
%%   I have an access database running with cold
%% fusion.  What I want is to write something in perl that will basically
%% grab all the pages on the website, search them for naughty words, [i
%% think this part could be done by a local script/mod that grepped all
%% the text files on the server];
%%  then grab all external pages linked to on this site, search those
%% (and any internal links within a given site, like bob.com and
%% bob.com/level1, and possibly bob.com/level1/level2), and *then* grab
%% *those* external links and search them.  Then it needs to save those
%% results so it can check against them each time it runs.  And it needs
%% to run on a schedule.  The major prob is talking to the access
%% database that has the external links, and persuading cold fusion to
%% embrace this as a cgi or scheduled process or something.  And the
%% coldfusion/access combo runs on nt, although that shouldn't be a
%% problem in running perl.  Any help on how to swing this would be
%% greatly appreciated.  I am not sure what mods to string together, nor
%% certain I even need to involve coldfusion or access in it at all.


Hire someone.



Abigail
-- 
perl -we 'print split /(?=(.*))/s => "Just another Perl Hacker\n";'


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

Date: Sun, 14 Jan 2001 17:01:32 GMT
From: "John P. Linderman" <jpl@research.att.com>
Subject: Re: Odd sorting behavior...
Message-Id: <3A61DB6C.3FBF437C@research.att.com>

Abigail wrote:

> Martien Verbruggen (mgjv@tradingpost.com.au) wrote on MMDCLXXX September
> MCMXCIII in <URL:news:slrn95223a.6lr.mgjv@martien.heliotrope.home>:
> ??
> ?? No matter wich version of Perl I use, and how large the number of
> ?? iterations, I still get a stable sort with the data you provide. I
> ?? believe that perl's internal sort is stable, at least in 5.6.0, but I'm
> ?? not 100 % sure about that. There have been discussions on this in the
> ?? past on this group. Maybe check deja to find a few. One of those is
>
> No, the sort provided by Perl (qsort for pre-5.6.0, own implementation
> of quicksort in 5.6.* and mergesort for 5.7) is only quaranteed to be
> stable in 5.7.
>
> Abigail

The ``pre-release'' of the 5.7.1 code still contains the non-stable,
but very thoroughly tested, quicksort implementation.
The stable, mergesort implementation is still present only in the
development release, which is far too volatile for production use.
As Uri noted, the stability or lack thereof is not something one
would want to rely on until there is some kind of formal
acknowledgement in the language, perhaps a

use sort qw(stable);

pragma, or suchlike.  -- jpl



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

Date: Sun, 14 Jan 2001 17:09:37 GMT
From: "John P. Linderman" <jpl@research.att.com>
Subject: Re: Odd sorting behavior...
Message-Id: <3A61DD51.659A5AB@research.att.com>

"John P. Linderman" wrote:

> Abigail wrote:
>
> > Abigail
>
> The ``pre-release'' of the 5.7.1 code still contains the non-stable,
> but very thoroughly tested, quicksort implementation.
> The stable, mergesort implementation is still present only in the
> development release, which is far too volatile for production use.
> As Uri noted, the stability or lack thereof is not something one
> would want to rely on until there is some kind of formal
> acknowledgement in the language, perhaps a
>
> use sort qw(stable);
>
> pragma, or suchlike.  -- jpl

Apologies for my fat-fingering.  It is the 5.6.1 pre-release that still
contains the quicksort code.  -- jpl




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

Date: Sun, 14 Jan 2001 18:30:04 GMT
From: adelton@fi.muni.cz (Honza Pazdziora)
Subject: Re: overload not autogenerating as expected
Message-Id: <G760q4.6y4@news.muni.cz>

On Sun, 14 Jan 2001 18:14:16 GMT, mintcake@my-deja.com <mintcake@my-deja.com> wrote:
> I want to use the simplest form of overloading (stringification) but

[...]

> print "ok\n" if $x eq '*value*';

Shouldn't the test actually be

	print "ok\n" if "$x" eq '*value*';

?

> I would have thought that the autogeneration mechanism would have come
> into play here, simply employing the stringification function to
> evaluate the left hand operand.  I suspect that my understanding of
> what is going on here is a bit flaky.  Can anyone explain?

Might it be that the default fallback value doesn't allow
autogeneration? On my 5.004_04,

	use overload qw("") => sub { '*' . $_[0]->{key} . '*' },
		'fallback' => 1;

and

	print "ok\n" if $x eq '*value*';

runs just fine.

Hope this helps,

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton@fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
Petition for a Software Patent Free Europe http://petition.eurolinux.org
------------------------------------------------------------------------


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

Date: 15 Jan 2001 22:55:06 GMT
From: abigail@foad.org (Abigail)
Subject: Re: Passing a parameter to a "sort" sub?
Message-Id: <slrn966vua.bbn.abigail@tsathoggua.rlyeh.net>

Tad McClellan (tadmc@augustmail.com) wrote on MMDCXCIV September MCMXCIII
in <URL:news:slrn96691i.crn.tadmc@tadmc26.august.net>:
{} Mary Ellen Foster <mef@cogsci.ed.ac.uk> wrote:
{} >Is it possible to pass parameters to a sort subroutine?
{} 
{} Nope.

Well, yes, you can, just not directly. 

    sub bytime {
        my $field = shift;

        sub {my @afields = split /:/, $results {$a} -> {$field};
             my @bfields = split /:/, $results {$a} -> {$field};
                $afields [0] <=> $bfields [0] ||
                $afields [1] <=> $bfields [1] ||
                $afields [2] <=> $bfields [2]}
    }


    foreach my $key (do {my $sub = bytime 'total'; sort $sub keys %results}) {
        print $key . ': ' . $results {$key} -> {name} . "\n";
    }



Abigail
-- 
               split // => '"';
${"@_"} = "/"; split // => eval join "+" => 1 .. 7;
*{"@_"} = sub {foreach (sort keys %_)  {print "$_ $_{$_} "}};
%{"@_"} = %_ = (Just => another => Perl => Hacker); &{%{%_}};


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

Date: Mon, 15 Jan 2001 13:25:57 -0700
From: "Randy Galbraith" <randy.galbraith@pegs.com>
Subject: Perl 5.6.0 and File::Basename
Message-Id: <93vmc6$i3c$1@freepress.anasazi.com>

All,

I'm seeing a difference between Perl 5.005 and Perl 5.6.0 in how the
basename function works.  Here is the code snippet that demonstrates the
difference...

--snippet--
#!/usr/bin/perl -w
use File::Basename;

my $fn = "/foo/bar/choo/TICK\n";
my $bn;

$bn = basename($fn);
print length($bn)," bn=>$bn<\n";
--end snippet--

With perl v5.005_03 I get...
4 bn=>TICK<

With perl v5.6.0 I get...
5 bn=>TICK
<

Is this a known issue?  Thanks in advance.

- Randy Galbraith





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

Date: Mon, 15 Jan 2001 22:18:07 -0000
From: gbacon@HiWAAY.net (Greg Bacon)
Subject: Re: Perl 5.6.0 and File::Basename
Message-Id: <t66tovlvt1ad04@corp.supernews.com>

In article <93vmc6$i3c$1@freepress.anasazi.com>,
    Randy Galbraith <randy.galbraith@pegs.com> wrote:

: I'm seeing a difference between Perl 5.005 and Perl 5.6.0 in how the
: basename function works.  Here is the code snippet that demonstrates the
: difference...
: 
: --snippet--
: #!/usr/bin/perl -w
: use File::Basename;
: 
: my $fn = "/foo/bar/choo/TICK\n";
: my $bn;
: 
: $bn = basename($fn);
: print length($bn)," bn=>$bn<\n";
: --end snippet--
: 
: With perl v5.005_03 I get...
: 4 bn=>TICK<
: 
: With perl v5.6.0 I get...
: 5 bn=>TICK
: <
: 
: Is this a known issue?  Thanks in advance.

Yes, it is known and intentional.  The change went in to plug several
filename-related security holes.  I'll post a link to the p5p thread
when I find it.

Greg
-- 
Cartman: Moooooom!  Kitty's being a dildo!
Mom:     Well, I know a certain kitty-kitty who's sleeping with Mommy tonight!


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

Date: Mon, 15 Jan 2001 15:55:19 -0500
From: tadmc@augustmail.com (Tad McClellan)
Subject: Re: Perl 5.6.0 and File::Basename
Message-Id: <slrn966otn.dah.tadmc@tadmc26.august.net>

Randy Galbraith <randy.galbraith@pegs.com> wrote:
>
>I'm seeing a difference between Perl 5.005 and Perl 5.6.0 in how the
>basename function works.  Here is the code snippet that demonstrates the
>difference...

[snip]

>With perl v5.005_03 I get...
>4 bn=>TICK<
>
>With perl v5.6.0 I get...
>5 bn=>TICK
><

I get the same results. Looks like a bug in v5.005_03 has been fixed.


>Is this a known issue?  

I don't know. Let's go find out for ourselves...

   cd /usr/lib/perl5
   find . -name Basename.pm
   diff ./5.00503/File/Basename.pm ./5.6.0/File/Basename.pm | more

 ...
165c175
<       ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/);
---
>       ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/s);
 ...


Looks like filenames are suddenly allowed to contain newlines again.

"Looks like" isn't very satisfying though, let's keep looking:

   cd /unpacked/tarball/perl-5.6.0/
   grep Basename Changes

this one looks promising:

      these insidious errors in File::Basename, File::Find and find2perl

better have a closer look:

   vi Changes

____________________________________________________________________________
[  5296] By: gsar                                  on 2000/02/28  00:00:05
        Log: m/.*$/ etc should be m/.*\z/s in many file handling modules; fix
             these insidious errors in File::Basename, File::Find and find2perl
             (from Tom Christiansen)

             TODO: many other modules need to be fixed as well!
     Branch: perl
           ! lib/File/Basename.pm lib/File/Find.pm x2p/find2perl.PL
____________________________________________________________________________


What a bunch those p5p, always looking out for us :-)


-- 
    Tad McClellan                          SGML consulting
    tadmc@augustmail.com                   Perl programming
    Fort Worth, Texas


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

Date: Mon, 15 Jan 2001 22:01:11 -0000
From: Chris Stith <mischief@velma.motion.net>
Subject: Re: Perl working with Java???
Message-Id: <t66sp7pi18at0a@corp.supernews.com>

In comp.lang.perl.misc EN <nlee@mediashell.net> wrote:
> Hi,

> I need to write a Perl program to do some stuff. Most of the stuff
> that the program has to do is already written in Java. Can anyone
> suggests some ways or point me to some resources that makes Perl work
> with Java?

> Two methods come to my mind:

> 1) Translate Java code into Perl code
> 2) Somehow embed a JVM in the Perl program

Perl::JVM::Jasmin by Bradley M. Kuhn helps you emit JVM bytecode
from Perl source.

The Java module by Mark Ethan Trostler helps you access a JVM
and do things with it from Perl.

Both can be found at CPAN.

Chris

-- 
Christopher E. Stith

Product shown enlarged to make you think you're getting more.



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

Date: Mon, 15 Jan 2001 20:15:40 +0100
From: David Hiskiyahu <David.Hiskiyahu@alcatel.be>
Subject: Re: Random Numbers with a Twist
Message-Id: <3A634C5C.43AAF760@alcatel.be>

This is an interesting problem, though quite simple.

I will avoid going into Perl code, because mine will for sure
not be optimal - let's focus on the algorithm.

1. Represent your grid as an array of 1200x800.
   Mark all points in the array as '1' (1=allowed to use, 0=not good).

2. From the cells marked with '1', select one at random.

3. Now mark all points in the distance of 30 from the chosen cell, 
   those that you never want to pick again, as not good ('0').

4. Go to 2.



About point 2:

  You can just shoot random samples until you get a '1' cell,
  or you could optimize by a pointer array.

  This kind of optimization is simple to code, though it might
  not really be needed in your case.

  A simple example, from a uni-dimensional world, is a virtual
  card deck from which you draw cards. You code it as a simple 
  array, fill each cell in the array with the value of the card,
  then when you draw a card, you take the last cell of the array,
  move it into the position of the 'taken' card, and consider 
  your array as one cell shorter from that point on.  Very simple,
  and can work also in a bi-directional case, if you got the principle.

  Think about marking your cell with a '0' as withdrawing a card.
 
Kind regards,

David.

Shawn Coppock wrote:
> 
> I can yank random numbers from ranges etc. all day. But now, I need a little
> more and I am tripping to solve this one.
> 
> #Problem:
> 
> Lets say I need to generate 60 random pairs of numbers ($x,$y) ... where $x
> is from a range of 1..1200 and $y is from a range of 1..800. Consider these
> pairs as a random point or coordinate on a grid of 1200x800.
> 
> In addition to this, each pair must be unique, in that
> 1. no pair can be the same
> 2. no pair can be within 30 of another
> 
> #Example:
> 
> Pair 1: 50,100
> Pair 2: 32,135
> Pair 3: 31,130
> etc..
> 
> Assuming that the pair numbers are checked before being added to a final
> list...
> 
> Pair 2 is ok because only one number is within 30 of Pair 1. But, Pair 3 is
> NOT ok, because both numbers are within 30 of another pair (Pair 2).
> 
> I don't want the pairs/coordinates to be perfectly spaced by 30. There's no
> need because at 1200x800 there are 960k available points... and if no two
> are within 30 of another, there are still 320k possibilities.
> 
> Any assistance here would be greatly appreciated!
> 
> Shawn

-- 
***   David Hiskiyahu, Alcatel SRD, 1 Fr.Wellesplein,  Antwerp  ***
***    Phone/Fax: +32 3 240 7965/9820, private +32 3 290 0912   ***

Quote of the Day

Some cause happiness wherever they go; others, whenever they go.
- Oscar Wilde


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

Date: 15 Jan 2001 20:57:35 GMT
From: abigail@foad.org (Abigail)
Subject: Re: Random Numbers with a Twist
Message-Id: <slrn966p1v.1ej.abigail@tsathoggua.rlyeh.net>

Anno Siegel (anno4000@lublin.zrz.tu-berlin.de) wrote on MMDCXCIV
September MCMXCIII in <URL:news:93v9ij$d0d$1@mamenchi.zrz.TU-Berlin.DE>:
__ Shawn Coppock <coppocks@bellsouth.net> wrote in comp.lang.perl.misc:
__ >
__ >Lets say I need to generate 60 random pairs of numbers ($x,$y) ... where $x
__ >is from a range of 1..1200 and $y is from a range of 1..800. Consider these
__ >pairs as a random point or coordinate on a grid of 1200x800.
__ >
__ >In addition to this, each pair must be unique, in that
__ >1. no pair can be the same
__ >2. no pair can be within 30 of another
__ 
__ Well, you could conceptually tile your rectangle with 30x30 squares,
__ and select 60 of those at random. Then, in a second step, select a
__ random point in each preselected square.


That of course doesn't garantee to satisfy the conditions.

Suppose two of your squares are (1, 1) x (30, 30) and (31, 1) x (60, 30).

Now, point (25, 10) lies in the first square, and (35, 15) in the
second, but they aren't 30 apart.



Abigail
-- 
sub f{sprintf$_[0],$_[1],$_[2]}print f('%c%s',74,f('%c%s',117,f('%c%s',115,f(
'%c%s',116,f('%c%s',32,f('%c%s',97,f('%c%s',0x6e,f('%c%s',111,f('%c%s',116,f(
'%c%s',104,f('%c%s',0x65,f('%c%s',114,f('%c%s',32,f('%c%s',80,f('%c%s',101,f(
'%c%s',114,f('%c%s',0x6c,f('%c%s',32,f('%c%s',0x48,f('%c%s',97,f('%c%s',99,f(
'%c%s',107,f('%c%s',101,f('%c%s',114,f('%c%s',10,)))))))))))))))))))))))))


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

Date: 15 Jan 2001 21:05:22 GMT
From: abigail@foad.org (Abigail)
Subject: Re: Random Numbers with a Twist
Message-Id: <slrn966pgi.1ej.abigail@tsathoggua.rlyeh.net>

Craig Berry (cberry@cinenet.net) wrote on MMDCXCIV September MCMXCIII in
<URL:news:t66h1ki1035vce@corp.supernews.com>:
:: Shawn Coppock (coppocks@bellsouth.net) wrote:
:: : Lets say I need to generate 60 random pairs of numbers ($x,$y) ... where $x
:: : is from a range of 1..1200 and $y is from a range of 1..800. Consider these
:: : pairs as a random point or coordinate on a grid of 1200x800.
:: : 
:: : In addition to this, each pair must be unique, in that
:: : 1. no pair can be the same
:: : 2. no pair can be within 30 of another
:: 
:: The following doesn't do much error checking, and will loop infinitely if
:: presented with an impossible task (80 point on a 10 by 10 grid, separated
:: by 3, for example).

Unfortunally, the program is fundamentally flawed - it's based on the
assumption any point can be part of at least one solution.

For instance, on a 10 by 10 grid, it's possible to pick 4 points that are
at least 8 apart pairwise (just pick four points near the corners). But
if your program starts by picking a point near the middle as the first
point, no other valid point can be found.

[ Program that randomly picks point, always keeping what fits so far snipped ]



Abigail
-- 
@_=map{[$!++=>$_^$/]}split$²=>"\@\x7Fy~*kde~box*Zoxf*Bkiaox";$\="\r";
$|=++$*;do{($#=>$=)=(rand@_=>rand@_);@_[$#,$=]=@_[$=,$#]}for($*..@_);
for$:($|..@_-$|){for($|..@_-$:){@_[$_-$|,$_]=@_[$_=>$_-$*]if$_[$_][$¼
]<$_[$_-$*][$®];print+map{$_->[$|]}@_;select$·,$°,$½,"$[.$|"}}print$/


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

Date: Mon, 15 Jan 2001 22:31:00 -0000
From: cberry@cinenet.net (Craig Berry)
Subject: Re: Random Numbers with a Twist
Message-Id: <t66uh4idbbs5fa@corp.supernews.com>

Abigail (abigail@foad.org) wrote:
: Craig Berry (cberry@cinenet.net) wrote on MMDCXCIV September MCMXCIII in
: <URL:news:t66h1ki1035vce@corp.supernews.com>:
: :: The following doesn't do much error checking, and will loop infinitely if
: :: presented with an impossible task (80 point on a 10 by 10 grid, separated
: :: by 3, for example).
: 
: Unfortunally, the program is fundamentally flawed - it's based on the
: assumption any point can be part of at least one solution.
[explanation snipped]

Quite true.  My solution is good enough for sparse cases, in which early
choices can't make the puzzle insoluble.  For denser cases, you'd
definitely need to add backtracking of some sort, or another way to detect
and correct "blocking" move choices.  But that's a lot more complicated to
code.  I chose to present a solution that meets the OP's needs, but should
have gone into more detail about its weaknesses for more general tasks.

-- 
   |   Craig Berry - http://www.cinenet.net/~cberry/
 --*--  "The hills are burning, and the wind is raging; and the clock
   |   strikes midnight in the Garden of Allah." - Don Henley


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

Date: 15 Jan 2001 14:45:30 -0500
From: Joe Schaefer <joe+usenet@sunstarsys.com>
Subject: Re: Remember variables through a form
Message-Id: <m31yu4zjj9.fsf@mumonkan.sunstarsys.com>

"Eric Baird" <jwcarlton@worldnet.att.net> writes:

> Hey, guys, this might seem pretty basic, but for some reason my CGI is
> giving me a lot of stress today. I'm hoping maybe a fresh mind will see 
> the obvious mistake I'm making.

        #!/usr/bin/perl -wT
        use strict;
        use CGI;
        no WorldWideMart;

> Imagine a simple form in a CGI, using checkboxes. When I check off 
> something and click Submit, I'm going to need to print off the item that 
> I checked off. Here's a simplified version of what's written:
> 
> # Original HTML print screen
> 
> <form action=$form method="POST">    # $form is the url of the script
> <input type="hidden" name="action" value="process1">    # where "process1"
> is the first subdirectory

You taint-check the returned value of process1, right? 

> <input type=text name=variable1 size=20>
> </form>
> 
> # 1st Process
> 
> $cookielog = "$contents{'variable1'}";
^              ^          ^         ^ ^
my                 drop the quotes.

Are you cure $cookielog is even defined?  How did the %contents
hash get populated with the form's POST data? You sure it's not
%Contents ?
  
> &SetCookies('variable',$cookielog);
  ^
unnecessary "&" (strange function- what's it do? got a return value?)
Oh- just checked WWMart- it prints a Set-Cookie header for you. You 
snipped the rest of the sent header, I assume.

> print "<form action=$form method="POST">\n";
> print "<input type="hidden" name="action" value="process2">\n";    # where
> "process2" is the 2nd subdirectory
> print "<table><tr>\n";
> print "<td valign=middle>$contents{'variable1'}</td><td valign=middle><input
> type=checkbox name=item1></td>\n";
> print "</tr></table>\n";
> print "<input type=submit value=Continue></form>\n";

use a here doc for this block instead:

        print <<HTML;
 ...
HTML

> 
> # Processing subdirectory

Processing results of form number2 right?
> 
> &GetCookies('variable');
  ^
 unnecessary (another strange function- sole purpose is a side-effect?)
> 
> $viewcookie = "$Cookies{'variable'}";
                ^                    ^ 
drop the quotes. (setting a global %Cookies hash is the desired side-effect?)

> @nvpairs = split(/\|/, $viewcookie);

are you sure the nvpairs are separated by "|" ? Stranger still ;)
 
> foreach $pair (@nvpairs) { ($variable) = split(/:/, $pair); }
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You do realize that's a fairly silly line of code, right? Note

        ($variable = $nvpairs[-1]) =~ s/:.*$//;

has the same effect. What IS $variable supposed to be? 
Do you really think $viewcookie has ANY ":" or "|" 
characters in it?  Why do you care, since it's input
by the user on the first form?

> print "Content-type: text/html\n";
                                ^^
You might need another linefeed here.

> 
> if ($contents{'item1'}) {
>     print "Variable: $variable1\n";
                                ^
Maybe you want to print $variable instead? ($variable1 is from
the first form).

I guess it's not %Contents after all :)

Although the last line is the likely culprit, I recommend testing 
the value of your variables with print/warn statements at just 
about every line you posted.  By starting with a CGI/Cookie library 
that fails all three of my "tests" ( no -wT, no strictures, no pod ) 
you appear well on your way to a fine piece of italian quisine.  
If you'd rather be programming than cooking, try using CGI.pm instead.

HTH
-- 
Joe Schaefer


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

Date: Mon, 15 Jan 2001 20:37:23 -0000
From: Chris Stith <mischief@velma.motion.net>
Subject: Re: Returning a filename from FILEHANDLE
Message-Id: <t66ns32633t1ae@corp.supernews.com>

Martien Verbruggen <mgjv@tradingpost.com.au> wrote:
> On Sat, 13 Jan 2001 07:00:09 -0000,
> 	Chris Stith <mischief@velma.motion.net> wrote:
>> Julian Cook/Sherab Gyatso <president@webticker.com> wrote:
>> 
>>> Is there a function is PERL  that will return what a filehandle is
>>> associated with?

> [snip of clever solution for Unix-like systems. However, see further
> comments]

The whole world should be using Unix-like systems. ;) Seriously,
Mertien is right. I didn't put a whole lot of thought into the
portability of this one. I was just giving a quick and dirty hack.
YMMV. In fact, according to Martien's analysis, YMMV greatly.

>> Basically I choose the directory I think the file is in, then
>> compare the inode reported by stat() for the filehandle to the
>> inode reported by stat() for the file names returned by readdir().
>> 
>> If a file name and file handle both use the same inode, they are
>> the same file (unless something really funky is going on). If you

> Or, unless you suddenly are on a different file system then you thought
> you were because you followed a symbolic link. Or unless that same file
> you think you are reading actually is a hard link to the file you are
> actually reading (although that might not matter to you).

If you do find a symbolic link in the directory that claims to be
the file, the -l test can tell you. You may even want to error out
of that method unless the file passes -f, with maybe a notation
that something was found that wasn't a regular file. This should
help for Unix-like systems.

stat()[0] should tell you the device number of the filesystem, too.
You could return an error if the number of hard links exceeds a
certain number ( using stat()[3] ). You could make sure the file
mode ( type and permissions, according to perldoc -f stat ) match
any criteria you put forth with stat()[2].

Anyway, Martien is correct. This method has its limitations and
only helps under particular circumstances. Keeping the filename
around for as long as you need it is always a better choice for
real use. Playing with the possibilities is fun for me, though. ;)

I'll also go ahead and mention again that if portability isn't
a concern, you can use syscall() to do about anything your system
libraries support. 

Chris

PS, completely off this topic, I really need to either put more
taglines in my tagline generator or find a better seed. The
tagline in my sig for this message seems to be favored too much.

-- 
Christopher E. Stith

Product shown enlarged to make you think you're getting more.



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

Date: Mon, 15 Jan 2001 15:02:52 -0500
From: "illusion" <illusi0n@REMOVEspeakeasy.net>
Subject: simple newbie question
Message-Id: <IGI86.3088$J76.18760@e420r-atl1.usenetserver.com>

whats the difference between 'for' and 'foreach'?

im sorry for sounding dumb.. im learning. =\




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

Date: 15 Jan 2001 20:14:49 GMT
From: rich@bofh.concordia.ca (Rich Lafferty)
Subject: Re: simple newbie question
Message-Id: <slrn966mhp.v14.rich@bofh.concordia.ca>

In comp.lang.perl.misc,
illusion <illusi0n@REMOVEspeakeasy.net> wrote:
> whats the difference between 'for' and 'foreach'?

Things like "for", "foreach", "if", "while" and so forth (but not "so
forth") are documented in the 'perlsyn' manual page/perldoc. Part of
that reads

       The foreach keyword is actually a synonym for the for
       keyword, so you can use foreach for readability or for for
       brevity.
 
I hope that's clear; it's sort of well-hidden in there if you don't
know what you're looking for, but I'm not sure if you saw it and
didn't understand it, or just hadn't found it at all.

One Perl convention is to just always use "for"; another is to use
"foreach" with a single LIST argument and "for" with a C-style
EXPR; EXPR; EXPR argument. I prefer the former, myself, since one can
*tell* what sort of argument it has by shifting one's eyes slightly to
the right.

  -Rich

-- 
Rich Lafferty ----------------------------------------
 Nocturnal Aviation Division, IITS Computing Services
 Concordia University, Montreal, QC
rich@bofh.concordia.ca -------------------------------


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

Date: 15 Jan 2001 20:19:16 GMT
From: ebohlman@omsdev.com (Eric Bohlman)
Subject: Re: simple newbie question
Message-Id: <93vm04$g1h$1@bob.news.rcn.net>

illusion <illusi0n@removespeakeasy.net> wrote:
> whats the difference between 'for' and 'foreach'?

> im sorry for sounding dumb.. im learning. =\

The perlsyn document that came with your copy of Perl will explain the
"difference."  When learning, it's *really* important to familiarize
yourself with Perl's built-in documentation.




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

Date: Mon, 15 Jan 2001 15:49:37 -0500
From: William Cardwell <EUSWMCL@am1.ericsson.se>
Subject: Using hash arrays (?)
Message-Id: <3A636261.4651E2E1@am1.ericsson.se>

I want each hash to be an array and handle elements in loops to print
each array element in a column and each hash key as a row. Doing it
laboriously for known no. of rows and columns I can do this:

$a[1]{x}='a1x';
$a[1]{y}='a1y';
$a[1]{z}='a1z';
$a[2]{x}='a2x';
$a[2]{y}='a2y';
$a[2]{z}='a2z';
print "$a[1]{x}     $a[2]{x}\n";
print "$a[1]{y}     $a[2]{y}\n";
print "$a[1]{z}     $a[2]{z}\n";

yielding this:

a1x     a2x
a1y     a2y
a1z     a2z

How do I put the print in a loop for each row for each column of unknown
dimensions? I have looked at FAQs and tried several things.

Thanks so much.

will Cardwell


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

Date: Mon, 15 Jan 2001 12:35:21 -0500
From: tadmc@augustmail.com (Tad McClellan)
Subject: Re: What do you call the => operator?
Message-Id: <slrn966d6p.cvd.tadmc@tadmc26.august.net>


[ lines rearranged so that the first thing is first and the
  second thing is second.
]


Lee Webb <lwebbee@britcomtele.comnotreal> wrote:
>Ben Okopnik wrote:
>> 
>> "Perl 4 used the comma to separate the key and value items; Perl5 uses => 
>> (digraph symbol)."
>> 
>> She proceeds to refer to it as 'the digraph symbol' further on in the 
>> book. ACK! A perfect example of just reading the documentation (perlop)
>> without understanding it...
>> 
>> Does anyone know the actual name for this thing, though? _Is_ there one?
>
>Programming Perl (3rd Edition): P108
>
>"The => digraph is mostly just a synonym for the comma operator."
>
>Personally, I believe Larry et al ;-)


What is your point?

We want to know what it is called.

Your Camel quote above does not provide a name for it.

Do you know what the word "digraph" means? It doesn't sound like it...


-- 
    Tad McClellan                          SGML consulting
    tadmc@augustmail.com                   Perl programming
    Fort Worth, Texas


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

Date: Mon, 15 Jan 2001 19:38:46 GMT
From: Uri Guttman <uri@sysarch.com>
Subject: Re: What do you call the => operator?
Message-Id: <x7zogszjut.fsf@home.sysarch.com>

>>>>> "LW" == Lee Webb <lwebbee@britcomtele.comnotreal> writes:

  LW> Programming Perl (3rd Edition): P108
  LW> "The => digraph is mostly just a synonym for the comma operator."

  LW> Personally, I believe Larry et al ;-)

but there is no name there for it. that is the whole question here.

uri

-- 
Uri Guttman  ---------  uri@sysarch.com  ----------  http://www.sysarch.com
SYStems ARCHitecture, Software Engineering, Perl, Internet, UNIX Consulting
The Perl Books Page  -----------  http://www.sysarch.com/cgi-bin/perl_books
The Best Search Engine on the Net  ----------  http://www.northernlight.com


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

Date: Mon, 15 Jan 2001 19:53:48 GMT
From: Bart Lateur <bart.lateur@skynet.be>
Subject: Re: What do you call the => operator?
Message-Id: <kal66tcb64usg5pjjemfil0cqjdtn0ridj@4ax.com>

Villy Kruse wrote:

>On 15 Jan 2001 10:40:52 GMT, Abigail <abigail@foad.org> wrote:
>>
>>IDO.
>
>Care to expand?  Don't know what IDO is.
>
>>``infix dereference operator'' (from man perlop)

Is this a joke, or what?

-- 
	Bart.


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

Date: Mon, 15 Jan 2001 21:58:25 GMT
From: mgjv@tradingpost.com.au (Martien Verbruggen)
Subject: Re: What do you call the => operator?
Message-Id: <slrn966si0.jgc.mgjv@verbruggen.comdyn.com.au>

On Mon, 15 Jan 2001 19:53:48 GMT,
	Bart Lateur <bart.lateur@skynet.be> wrote:
> Villy Kruse wrote:
> 
>>On 15 Jan 2001 10:40:52 GMT, Abigail <abigail@foad.org> wrote:
>>>
>>>IDO.
>>
>>Care to expand?  Don't know what IDO is.
>>
>>>``infix dereference operator'' (from man perlop)
> 
> Is this a joke, or what?

Hopefully. The perlop documentation does contain this fragment:

       The Arrow Operator

       "`->'" is an infix dereference operator, just as it is in
       C and C++.  If the right side is either a `[...]',
       `{...}', or a `(...)' subscript, then the left side must
       be either a hard or symbolic reference to an array, a
       hash, or a subroutine respectively.  (Or technically
       speaking, a location capable of holding a hard reference,
       if it's an array or hash reference being used for assign­
       ment.)  See the perlreftut manpage and the perlref man­
       page.

However, the title of that paragraph ('_The_ arrow operator') and the
use of an indeterminate article in front of 'infix dereference
operator', seems to suggest strongly that, at least, the authors of
the documentation want to call this thing the arrow operator, and
classify it as an infix dereference operator.

Martien
-- 
Martien Verbruggen              | 
Interactive Media Division      | Can't say that it is, 'cause it
Commercial Dynamics Pty. Ltd.   | ain't.
NSW, Australia                  | 


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

Date: Mon, 15 Jan 2001 20:09:04 GMT
From: Phallicity <phallicity_2000@yahoo.com>
Subject: ZIp Code Perl Program
Message-Id: <93vlcp$lm$1@nnrp1.deja.com>

I am looking for a perl (cgi) script that will automatically enter a
users city & state given a zip code, maybe one that I could simply
implement using the require (".."); function call.  If anyone can tell
me where to find one and how to implement it I would appreciate it.
Please be as specific as possible for I am fairly new to Perl
programming and am still learning.

Thanks in advance,

--
Phallicity

"He must have a huge Schwanstucker!"
-Young Frankenstein


Sent via Deja.com
http://www.deja.com/


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

Date: Mon, 15 Jan 2001 15:56:43 -0500
From: "Kurt Stephens" <kstep@pepsdesign.com>
Subject: Re: ZIp Code Perl Program
Message-Id: <93vo4t$21$1@slb7.atl.mindspring.net>

"Phallicity" <phallicity_2000@yahoo.com> wrote in message
news:93vlcp$lm$1@nnrp1.deja.com...
> I am looking for a perl (cgi) script that will automatically enter a
> users city & state given a zip code

In order to perform zip code to city/state conversion, you will need a
database of the city/state/zip associations.  This information is not free -
a subscription is available for a fee from the USPS or from a member of
their approved vendor program.  Below is a link to the USPS City/State
product page.

http://www.usps.gov/ncsc/products/city_state.htm

The City/State data is provided as a fixed-width text file, so it is fairly
simple to read using Perl.  Since it is a large file, you could improve
performance by storing the information in a database such as MySQL, indexing
the Zip field, and performing the lookup using the DBI module.

HTH.

Kurt Stephens





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

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


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