[19029] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 1224 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sat Jun 30 21:05:31 2001

Date: Sat, 30 Jun 2001 18:05:06 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <993949506-v10-i1224@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Sat, 30 Jun 2001     Volume: 10 Number: 1224

Today's topics:
        Apache & ActivePerl problemmos <smichae@ilstu.edu>
    Re: command line news posting tools <sun_tong@users.sourceforge.net>
    Re: converting shell "sort" command to perl.. <perler@yahoo.com>
    Re: converting shell "sort" command to perl.. <uri@sysarch.com>
    Re: Coordinates for perl print command like ksh  print  (Mark Jason Dominus)
    Re: Create unique file in dir? (Zur Aougav)
    Re: Faster yet way to count lines in a file (or at leas (Zur Aougav)
    Re: How can I test that a subroutine exists? (Mark Jason Dominus)
    Re: How can I test that a subroutine exists? (Anno Siegel)
    Re: how do I return a hash var (Zur Aougav)
    Re: lvalue functions <nospam-abuse@ilyaz.org>
    Re: Mod perl 1.20 win32 <randy@theory.uwinnipeg.ca>
        Need a start or direction for PERL Program (SMS Bulk Me (Vlad)
    Re: Open or Die - is die the only choice? <tony_curtis32@yahoo.com>
    Re: Six degrees of separation (David H. Adler)
    Re: SMTP, should be simple (Zur Aougav)
    Re: SMTP, should be simple <Juha.Laiho@iki.fi>
        test <joeymoses1@home.com>
    Re: unix `ps` <Juha.Laiho@iki.fi>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Sat, 30 Jun 2001 13:41:13 -0500
From: "Steven Michaels" <smichae@ilstu.edu>
Subject: Apache & ActivePerl problemmos
Message-Id: <9hl6h1$djc$1@news.ilstu.edu>

Hello, I'm running Apache and ActivePerl (the newest
versions) on my Win98 machine as a test server.  What
happens though, is that after a few hours of use, the
computer lags so much, and basically locks up.  Is there
any configuration that I can set that will allow the computer
to be as fast as it was when I first ran it all the time?
Thanks,
Steven Michaels




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

Date: 30 Jun 2001 19:55:11 -0300
From: * Tong * <sun_tong@users.sourceforge.net>
Subject: Re: command line news posting tools
Message-Id: <sa8ae2p4lyo.fsf@suntong.personal.users.sourceforge.net>

thank you Anno for the reply, but ...

anno4000@lublin.zrz.tu-berlin.de (Anno Siegel) writes:

> program returns after approximately 30 seconds.  How long have you
> waited?

At least 3 times longer than my original design. "returns after
approximately 30 seconds"? I'm wondering if it did post through. 

Anyway, since nobody can explain why here doc introduce this extra
delay, I'll stick to my original design, which take about 1 second
to send. 30 seconds... <sigh>

-- 
Tong (remove underscore(s) to reply)
  *niX Power Tools Project: http://xpt.sourceforge.net/
  - All free contribution & collection


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

Date: Sat, 30 Jun 2001 20:53:23 +0200
From: Patrick Erler <perler@yahoo.com>
Subject: Re: converting shell "sort" command to perl..
Message-Id: <Xns90D0D47EDD86Ffuyyehcesyrdx@62.153.159.134>

tadmc@augustmail.com (Tad McClellan) wrote in 
news:slrn9jrjvm.qdi.tadmc@tadmc26.august.net:

> It's only a style choice, but I like to emphasize the action here
> rather than the condition:
> 
>    die "Usage:\n\t$0 [logfile]\n" unless @ARGV == 1;
> 
> That even sounds a little Englishy: "die unless one arg".
there is more than... :)

thanks,


-- 
PAT


vcard/LDAP/PGP: http://dresden-online.com/perler/identity.html
PGP fingerprint: DAC6 2FDA 1ED7 AD55  BD1F 5142 3D5F 72BF
Yahoo-ID: perler - http://jpager.yahoo.com/jpager/messenger.html


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

Date: Sat, 30 Jun 2001 20:47:30 GMT
From: Uri Guttman <uri@sysarch.com>
Subject: Re: converting shell "sort" command to perl..
Message-Id: <x7r8w17l0d.fsf@home.sysarch.com>

>>>>> "PE" == Patrick Erler <perler@yahoo.com> writes:

  PE> tadmc@augustmail.com (Tad McClellan) wrote in 
  PE> news:slrn9jrjvm.qdi.tadmc@tadmc26.august.net:

  >> It's only a style choice, but I like to emphasize the action here
  >> rather than the condition:
  >> 
  >> die "Usage:\n\t$0 [logfile]\n" unless @ARGV == 1;
  >> 
  >> That even sounds a little Englishy: "die unless one arg".
  PE> there is more than... :)

nope. the code dies if no args so tad's reads better.

uri

-- 
Uri Guttman  ---------  uri@sysarch.com  ----------  http://www.sysarch.com
SYStems ARCHitecture and Stem Development ------ http://www.stemsystems.com
Learn Advanced Object Oriented Perl from Damian Conway - Boston, July 10-11
Class and Registration info:     http://www.sysarch.com/perl/OOP_class.html


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

Date: Sat, 30 Jun 2001 18:17:22 GMT
From: mjd@plover.com (Mark Jason Dominus)
Subject: Re: Coordinates for perl print command like ksh  print "\033[1;37HHello"
Message-Id: <3b3e17b2.296c$17a@news.op.net>

In article <9hi5jo$dah$1@ncc1701.cistron.net>,
Eugene <e.broeren@food-express.nl> wrote:
>Is it possible to position the perl print command like in unix ksh print
>"\033[1;37HHello"
>How can i do this in perl

        print "\033[1;37HHello";


-- 
@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print


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

Date: 30 Jun 2001 15:49:41 -0700
From: aougav@hotmail.com (Zur Aougav)
Subject: Re: Create unique file in dir?
Message-Id: <bccc87cc.0106301449.382a3b25@posting.google.com>

cberry@cinenet.net (Craig Berry) wrote in message news:<tjn5cm42nfgafd@corp.supernews.com>...
> Anybody have suggestions on how to create a unique file in a directory,
> possibly obtaining an open filehandle to it in the process?  (Obviously, I
> could open it as a separate step, but doing both in one process would be
> an optimization).  I don't care about the details of the name.  Obviously,
> race conditions between separate processes trying to do this must be
> avoided.  Any suggestions?

You can use
        my $filename = time().substr("".rand(),2);

rand() returns a number between 0 and 1. Example: 0.95208740234375.
substr("".rand(),2) with the example will returns 95208740234375.
time() returns a number. Example: 993940359 (change every second).

$filename with the above example will be: 99394035995208740234375.

Zur

P.S. Lock and retry (with a new name) is a must in multi-processor
environment. Safe coding (even if you don't have this kind of
environment) is highly recommended.


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

Date: 30 Jun 2001 14:17:36 -0700
From: aougav@hotmail.com (Zur Aougav)
Subject: Re: Faster yet way to count lines in a file (or at least cooler)
Message-Id: <bccc87cc.0106301317.7d39c457@posting.google.com>

rick@library.ucsd.edu (R. McGillis) wrote in message news:<rick-2906011525210001@cul89-158.ucsd.edu>...
> I use the following to count lines in a file:
> 
> 
> !#/usr/local/bin/perl -n
> 
> END{print "$.\n"};
> 
> 
> Thats it! (Also assuming lines delineated by "\n").
> Note that this is done from the command line, i.e. you would type from the
> command prompt:  > "this_program.pl" "name_of_file_to_count" and you will
> get your answer. Without the END, you will get a column of numbers; one
> for each line in the file. END forces only the number of the last line to
> get printed.
> 
> 
> -R.M.

Nice.

Yet, I still like the "simple minded" approach:

  my $i = 0;
  open(IN,"<".shift @ARGV) or die "$!";
  $i++ while (<IN>);
  close(IN);
  print "Lines: $i\n";

Zur


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

Date: Sat, 30 Jun 2001 18:15:38 GMT
From: mjd@plover.com (Mark Jason Dominus)
Subject: Re: How can I test that a subroutine exists?
Message-Id: <3b3e1749.2957$3cf@news.op.net>

In article <3B3E0ABA.5D1E4C7B@home.com>, Aaron Brice  <abrice2@home.com> wrote:
>I have a script that's reading the actions it performs out of a separate
>state table.  So the subroutine is called as a symbollic reference.  My
>question is how do I check that the subroutine it reads exists?  I
>tried:
>
>if (defined (&{$action}) {
>  &{$action}(@parameters);
>}

That is the right way to do it.

>which gave me a syntax error, 

That's because you left off the closing parenthesis of the 'if'.

You can simplify this to:

        if (defined &$action) { 
           ...
        }

but it's doing the same thing.


-- 
@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print


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

Date: 30 Jun 2001 18:20:31 GMT
From: anno4000@lublin.zrz.tu-berlin.de (Anno Siegel)
Subject: Re: How can I test that a subroutine exists?
Message-Id: <9hl59f$8h9$1@mamenchi.zrz.TU-Berlin.DE>

According to Aaron Brice  <abrice2@home.com>:
> I have a script that's reading the actions it performs out of a separate
> state table.  So the subroutine is called as a symbollic reference.  My
                ^^
                see below

> question is how do I check that the subroutine it reads exists?  I
> tried:
> 
> if (defined (&{$action}) {
>   &{$action}(@parameters);
> }
> 
> which gave me a syntax error, and

Yes, you're missing a closing parenthesis in the "if" line.
Otherwise the syntax is fine and does what you want.
 
[snip]

I almost hate to show the solution to your problem, because it means
to show how to make the dreaded symrefs work.

Whenever you use a symbolic reference you are crossing the gap
between program (the subroutines, in your case) and data (the
action names read from a file).  In many computer languages this
is entirely impossible, in others it is standard fare (Lisp).
In Perl and some others (BASIC, Prolog) it, umm..., has been made
possible, but people agree that it is generally a bad idea.  With
your code, one problem is that a data error in an action name can
result in calling a random subroutine in your program.  That could
be hard to debug, and it's easy to avoid too.

The answer to symrefs is invariably a hash.  That is because with
symrefs you are actually (ab)using a system hash: the symbol table
of your current package.  Far better to make it explicit.

Build a hash table whose entries are honest code references (a
dispatch table) and name the keys for the actions.  That's to say,
instead of compiling the actions "foe" and "fum" as ordinary subs,
do this (untested):

    my %action_table = (
        foe => sub {
            # whatever foe does
        },

        fum => sub {
            # whatever fum does
        }, # the final comma is okay, even encouraged
    );
 
Then your code above (call an action if it is defined) might look like
this:

    if ( exists $action_table{ $action} ) {
        $action_table{ $action}->( @parameters);
    }

There is no danger of calling an unwanted subroutine via this mechanism
because there is no way to do so.

Anno


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

Date: 30 Jun 2001 15:20:04 -0700
From: aougav@hotmail.com (Zur Aougav)
Subject: Re: how do I return a hash var
Message-Id: <bccc87cc.0106301420.1670cd8@posting.google.com>

"news.sohoskyway.com" <jestersi@metacrawler.com> wrote in message news:<3b3cb782_1@sohoskyway.net>...
> i.e.
> 
> sub somefunc {
>     %somevar = {"100","green","200","red" };
>     return($somevar);
> }
> 
> $myhash = &somefunc();
> print ref($myhash);    #this prints NOTHIN!!
> 
> any guru's figure this out?

Change
        %somevar = {"100", "green", "200", "red" }; # this is a hash
        return($somevar);     # where this $somevar come from?
to
        my $somevar = {"100", "green", "200", "red" }; # this is a
reference
        return($somevar);     # ok! we assigned and return $somevar

Reference is assigned to variable $somevar. Not to hash %somevar.

Also, reference is a reference. You can *not* use $myhash{100} if
$myhash is a reference (it is fine if %myhash is defined). So, you
must use

        my $myhash = &somefunc();     # $myhash is a reference to hash
        foreach my $key (keys %{$myhash}) {
              print "$key is $$myhash{$key}\n";     # ok
              print "$key is ${$myhash}{$key}\n";   # much better
              print "$key is $myhash->{$key}\n";    # the best
        }

Zur

P.S. To get some warnings and error you can use "-w" flag to perl.
P.P.S. Add a line:
                      use strict;


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

Date: Sat, 30 Jun 2001 19:13:41 +0000 (UTC)
From: Ilya Zakharevich <nospam-abuse@ilyaz.org>
Subject: Re: lvalue functions
Message-Id: <9hl8d5$h9q$1@agate.berkeley.edu>

[A complimentary Cc of this posting was sent to
<nobull@mail.com>], who wrote in article <u9k81uzfh6.fsf@wcl-l.bham.ac.uk>:
> > >   use LvalueSubWithSeperateFetchAndStoreMethods func => {
> > >     FETCH => sub { $private },
> > >     STORE => sub { $private = shift },
> > >   };
> > 
> > Why do you discuss syntax where semantic would not work?

> > Remember cryptocontext?
> 
> Remember it?  I've never even heard of it!

Then lookup for it!

  sub foo {print shift}
  sub bar {...}

  foo bar;

What is the context of bar()?

Ilya


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

Date: Sat, 30 Jun 2001 14:00:32 -0500
From: "Randy Kobes" <randy@theory.uwinnipeg.ca>
Subject: Re: Mod perl 1.20 win32
Message-Id: <9hl84f$90d$1@canopus.cc.umanitoba.ca>

"Winston Khoo" <flare_78@yahoo.com> wrote in
  message news:1103_993878192@winston-main...

> Is it possible to find mod perl 1.20 still in win32 binary format? I want
to
> use it for activeperl/ win nt environment.

mod_perl didn't compile with Win32 ActivePerl until
the development stream of mod_perl-1.24. See
http://perl.apache.org/distributions.html for a list
of current Win32 binary options.

best regards,
randy kobes





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

Date: 30 Jun 2001 18:00:44 -0700
From: leeassoc@hotmail.com (Vlad)
Subject: Need a start or direction for PERL Program (SMS Bulk Message)
Message-Id: <5bd5b7e0.0106301700.342b4729@posting.google.com>

I have seen, know how it works via sendmail or perl script to send SMS
messages to cell phones.

There is also clickatel.com to send message for 8.50$ for 250 of them
and the more you go the cheaper it is.

I would like to read about it or buy a book but I am not sure if the
stuff is in there....

Anyone tried it might know about, or where to start...

Thanks..

leeassoc@hotmail.com


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

Date: 30 Jun 2001 13:25:08 -0500
From: Tony Curtis <tony_curtis32@yahoo.com>
Subject: Re: Open or Die - is die the only choice?
Message-Id: <873d8hzuyj.fsf@limey.hpcc.uh.edu>

>> On Sat, 30 Jun 2001 15:44:02 GMT,
>> Gary <gamtci@mpinet.net> said:

> Every book I have shows "open or die". Isn't there any
> other way to determine if the open succeeded?  I have
> been checking for existence using if (-f $file) first,
> but I'd still rather know the open succeeded.

That's not recommended because the file could disappear
between the -f and a subsequent open (race condition).

While there are many other ways (and I'll leave it up to
others to proffer them) you can use this paradigm:

    if (open(HANDLE, "file")) {
        do_something_with_file();
    } else {
        handle_error();
    }

or

    if (! open(HANDLE, "file")) {
        handle_error();
    }
    continue_with_processing();

It depends of course on how the error condition affects
what follows and if the normal processing path needs to be
recovered.

Note you can also wrap the die() in an eval block and then
test the $@ variable (a bit like try/catch in other
languages).

hth
t
-- 
Somebody light this monkey.  AAAAGGGHHHH!!  Bad monkey!


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

Date: 25 Jun 2001 05:23:34 GMT
From: dha@panix.com (David H. Adler)
Subject: Re: Six degrees of separation
Message-Id: <slrn9jdimm.4ve.dha@panix2.panix.com>

In article <tjcjr41p6ska74@corp.supernews.com>, Greg Bacon wrote:
> In article <slrn9jb7gq.iqg.dha@panix2.panix.com>,
>     David H. Adler <dha@panix.com> wrote:
> 
>: In article <tjagkjouefr34b@corp.supernews.com>, Greg Bacon wrote:
>:
>: > I guess I'd be the obvious choice for the Kevin Bacon of Perl. :-)
>: 
>: I might argue that point... :-)
> 
> I can go from Kibo to mjd in zero pages, Dave!!!

Is Kibo perlish now?  :-)

I can go... well, somewhere.  I know I can!

>: If God didn't want us to eat animals, he wouldn't have made them out
>: of Meat.      - Phillip, Goats, 20sep99
> 
> Didn't Alfred E. Neumann say that?

I wasn't aware that AEN ever said anything other than "What, me worry?"

dha

-- 
David H. Adler - <dha@panix.com> - http://www.panix.com/~dha/
Trust the computer industry to shorten the term "Year 2000" to Y2K.
It was this kind of thinking that got us in trouble in the first
place.		- Adrian Tyvand


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

Date: 30 Jun 2001 14:35:56 -0700
From: aougav@hotmail.com (Zur Aougav)
Subject: Re: SMTP, should be simple
Message-Id: <bccc87cc.0106301335.317dcc81@posting.google.com>

"Thing" <noemail@noemail.com> wrote in message news:<xX4%6.4960$eL5.509322@newsread1.prod.itd.earthlink.net>...
> is there an obvious reason that this does not work ?  I telnet and run the
> commands, and it doesnt work.
> 
> #!/perl/bin/perl.exe
> 
> use CGI qw/:standard/;
> use Socket;
> 
> my $sock = IO::Socket::INET->new (PeerAddr => 'NTSRV4',
>                                   PeerPort => 'smtp(25)',
>                                   Proto => 'tcp');
> 
> print $sock "HELO\r\n";
> print $sock "MAIL From:dr@insurance.com";
> print $sock "RCPT To:dr@insurance.com\r\n";
> print $sock "DATA\r\n";
> print $sock "Subject: NT";
> print $sock "\r\n";
> print $sock "This was from Perl\r\n";
> print $sock ".\r\n";
> print $sock "QUIT";
> close ($sock)

Note that "\n" and "\r\n" is platform dependent. Socket define
"newline" constants. Code
    use Socket qw(:DEFAULT :crlf);
Gets
    cr, lf, crlf
or 
    $cr, $lf, $crlf.
These are
    "\015", "\012", "\015\012".

So, try crlf (instead of "\r\n").

Zur


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

Date: 30 Jun 2001 11:42:29 GMT
From: Juha Laiho <Juha.Laiho@iki.fi>
Subject: Re: SMTP, should be simple
Message-Id: <9hkdv5$kq3$2@ichaos.ichaos-int>

"Thing" <noemail@noemail.com> said:
>is there an obvious reason that this does not work ?  I telnet and run the
>commands, and it doesnt work.
>
>#!/perl/bin/perl.exe
>
>use CGI qw/:standard/;

CGI is not needed here, so apparently this is just a part of something
larger?

>use Socket;
>
>my $sock = IO::Socket::INET->new (PeerAddr => 'NTSRV4',
>                                  PeerPort => 'smtp(25)',
>                                  Proto => 'tcp');
>
>print $sock "HELO\r\n";
>print $sock "MAIL From:dr@insurance.com";

\r\n missing.

>print $sock "RCPT To:dr@insurance.com\r\n";
>print $sock "DATA\r\n";
>print $sock "Subject: NT";

\r\n missing.

>print $sock "\r\n";
>print $sock "This was from Perl\r\n";
>print $sock ".\r\n";
>print $sock "QUIT";

\r\n missing.

>close ($sock)

Additionally, you're not checking for _any_ return values;
- did the IO::Socket::INET->new() succeed?
- what responses did you get from the SMTP server?
- did the prints succeed?
- was close() ok?

 ... and as a good habit, I'd encourage use of "-w" and "use strict;".
There also is a prewritten module for SMTP connections; I don't know
if it works on Win* platrofms, though (but it might).

Also, you'll need to add "From: " and "To: " header lines to the message
itself, too. There are completely separate from the envelope sender and
recipient information provided by "MAIL FROM" and "RCPT TO" SMTP
statements. (analogy in real world; "MAIL FROM" and "RCPT TO" are like
the sender/recipient information pronted outside the envelope whereas
the "From: " and "To: " header lines correspond to the sender and
recipient information written on the letterhead).
-- 
Wolf  a.k.a.  Juha Laiho     Espoo, Finland
(GC 3.0) GIT d- s+: a C++ UH++++ UL++++$ P++@ L+++ E(-) W+$@ N++ !K w !O
         !M V PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h--- r+++ y+++
"...cancel my subscription to the resurrection!" (Jim Morrison)


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

Date: Sat, 30 Jun 2001 19:55:58 -0500
From: "Joey Moses" <joeymoses1@home.com>
Subject: test
Message-Id: <tsu%6.71372$bH4.674837@e420r-chi2.usenetserver.com>

Having trouble getting post to the board.

Joey





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

Date: 30 Jun 2001 11:29:47 GMT
From: Juha Laiho <Juha.Laiho@iki.fi>
Subject: Re: unix `ps`
Message-Id: <9hkd7b$kq3$1@ichaos.ichaos-int>

"Mr. Sunray" <djberge@uswest.com> said:
>Todd Smith wrote:
>> My server was rooted today by some script-kiddie, and ls, ps, and du were
>> trojaned. Is there a way to list all the pids and process names with perl,
>> similar to the unix ps but without all the options?

Todd;

how can you tell it was only those? Probably there's more. Please take the
system off-line, if you haven't yet done so; back up the valuable data you
have there and re-install (and patch with up-to-date updates from your
system vendor). Or, if you have an absolutely trusted copy of what the
file checksums ought to be, restore trusted copies form a known-good
backup - after checking that the restore program hasn't been changed. In
any case, this'll require you to boot the system from some secondary
media, as the OS image on your active system cannot be trusted.

>I think Proc::ProcessTable does what you want.  It's on CPAN.

 ... which, I think, uses 'ps' command as the information source. Oops.
-- 
Wolf  a.k.a.  Juha Laiho     Espoo, Finland
(GC 3.0) GIT d- s+: a C++ UH++++ UL++++$ P++@ L+++ E(-) W+$@ N++ !K w !O
         !M V PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h--- r+++ y+++
"...cancel my subscription to the resurrection!" (Jim Morrison)


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

Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>


Administrivia:

The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc.  For subscription or unsubscription requests, send
the single line:

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

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


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