[24493] in Perl-Users-Digest
Perl-Users Digest, Issue: 6673 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Jun 10 00:05:42 2004
Date: Wed, 9 Jun 2004 21:05:07 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Wed, 9 Jun 2004 Volume: 10 Number: 6673
Today's topics:
Re: change de current working directory of my session.. <Joe.Smith@inwap.com>
Re: convert accented characters to root character? <bigal187.invalid@adexec.com>
Looking for Perl work? <postmaster@castleamber.com>
Re: Looking for Perl work? <matthew.garrish@sympatico.ca>
Re: Looking for Perl work? <postmaster@castleamber.com>
Re: match aaa but not 123aaa <ken_sington@nospam_abcdefg.com>
Re: Matching a word or Pattern in perl (Kevin Collins)
Object oriented form parsing <1usa@llenroc.ude>
Re: Object oriented form parsing <usenet@morrow.me.uk>
Re: PERL C++/ CONTRACT/ IMMEDIATE <dha@panix2.panix.com>
String matching and alignment? <bryan@akanta.com>
Re: String matching and alignment? <simon@unisolve.com.au>
Re: String matching and alignment? <kalinaubears@iinet.net.au>
Re: String matching and alignment? <gnari@simnet.is>
Re: String matching and alignment? <Joe.Smith@inwap.com>
Re: sub returning nothing <usenet@morrow.me.uk>
Re: Text GUI with Perl (Kevin Collins)
Re: Variable hash names? <Joe.Smith@inwap.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Thu, 10 Jun 2004 01:39:56 GMT
From: Joe Smith <Joe.Smith@inwap.com>
Subject: Re: change de current working directory of my session...
Message-Id: <MZOxc.2052$eu.1229@attbi_s02>
bxb7668 wrote:
> Running the script with a "dot space" before it causes it to run in
> the current shell. In other words:
>
> . ./perl_script
You're forgetting some very important things:
1) It's ". bash_or_sh_script" for some shells,
2) It's "source csh_or_tcsh_script" for other shells,
3) Neither example above handls perl scripts.
-Joe
------------------------------
Date: Wed, 9 Jun 2004 18:53:04 -0700
From: "187" <bigal187.invalid@adexec.com>
Subject: Re: convert accented characters to root character?
Message-Id: <2ipt82Fq3borU1@uni-berlin.de>
Jürgen Exner wrote:
> 187 wrote:
> > I'm wondering if theres a nice clean way to convert accented
> > characters to the root character, like 'À' (A with mark above it) to
> > 'A', or 'Ð' (D with a horizontal line in the middle) to 'D' or 'Ñ'
> > (spanish N with tilde above it) to 'N'.
>
> Didn't we just (like two days ago) have this discussion in the thread
> " Re: Convert unicode string to "basic characters"
>
> "?
> Is there anything that you believe was not covered in that
> discussion? Then you may want to point out specifically which issues
> you like to discuss in more detail.
>
> As has been pointed out there, are you certain you want to convert
> e.g. "to hear" ("höra") into "whore" ("hora") or "Austria"
> ("Österreich") into "Easter Empire" ("Osterreich")?
>
> jue
Sorry my news feed doesn't show the other thread you and another person
mentioned. My apologies. I did how ever google about this but maybe I
was using the wrong search pattern as I could not find anything to help.
Thank to al lfor replies though.
------------------------------
Date: Wed, 09 Jun 2004 18:30:33 -0500
From: John Bokma <postmaster@castleamber.com>
Subject: Looking for Perl work?
Message-Id: <40c79d9b$0$208$58c7af7e@news.kabelfoon.nl>
I am looking for Perl work, but still not found a good site. I tried
http://jobs.perl.org/ for months, but in most cases you don't even get a
decent "we're sorry we found someone else".
First one who offers me a project gets 50% discount :-D.
--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced Perl programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
------------------------------
Date: Wed, 9 Jun 2004 21:34:29 -0400
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: Looking for Perl work?
Message-Id: <DUOxc.37751$sS2.1316574@news20.bellglobal.com>
"John Bokma" <postmaster@castleamber.com> wrote in message
news:40c79d9b$0$208$58c7af7e@news.kabelfoon.nl...
> I am looking for Perl work, but still not found a good site. I tried
> http://jobs.perl.org/ for months, but in most cases you don't even get a
> decent "we're sorry we found someone else".
>
> First one who offers me a project gets 50% discount :-D.
>
It is a bit rude to keep posting these messages. What if every out-of-work
programmer felt the need to advertise? Wouldn't make for much of a forum,
would it?
Matt
------------------------------
Date: Wed, 09 Jun 2004 22:30:42 -0500
From: John Bokma <postmaster@castleamber.com>
Subject: Re: Looking for Perl work?
Message-Id: <40c7d5e3$0$195$58c7af7e@news.kabelfoon.nl>
Matt Garrish wrote:
> "John Bokma" <postmaster@castleamber.com> wrote in message
> news:40c79d9b$0$208$58c7af7e@news.kabelfoon.nl...
>
>>I am looking for Perl work, but still not found a good site. I tried
>>http://jobs.perl.org/ for months, but in most cases you don't even get a
>>decent "we're sorry we found someone else".
>>
>>First one who offers me a project gets 50% discount :-D.
>
> It is a bit rude to keep posting these messages. What if every out-of-work
> programmer felt the need to advertise? Wouldn't make for much of a forum,
> would it?
I still haven't had an answer, except the jobs site which I already was
aware of. I hope that's not the only decend project related site.
And no, you don't get job offers via this group (or at least I never
had), it was a joke, hence the smiley.
--
John MexIT: http://johnbokma.com/mexit/
personal page: http://johnbokma.com/
Experienced Perl programmer available: http://castleamber.com/
Happy Customers: http://castleamber.com/testimonials.html
------------------------------
Date: Wed, 09 Jun 2004 19:06:01 -0400
From: Ken Sington <ken_sington@nospam_abcdefg.com>
Subject: Re: match aaa but not 123aaa
Message-Id: <Li6dnQfdT9BLClrdRWPC-w@speakeasy.net>
Jay Tilton wrote:
> Ken Sington <ken_sington@nospam_abcdefg.com> wrote:
>
> : i have these arbitary strings
....
> /(?<!123)YaaaY/
>
It works!
you're a genius!
now to find out what ?<! means...
------------------------------
Date: Wed, 09 Jun 2004 22:31:24 GMT
From: spamtotrash@toomuchfiction.com (Kevin Collins)
Subject: Re: Matching a word or Pattern in perl
Message-Id: <slrnccf3tp.gql.spamtotrash@doom.unix-guy.com>
In article <ca7vpg$ev4$1@hudsucker.umdac.umu.se>, Gunnar Strand wrote:
> Hi Raj,
>
> Raj Sathgunam wrote:
>> Hi ,
>>
>> I have to match either one of the below output from a log file.
>> Match "No Activity" OR XYZ:10 ABC:30 MNO:10 PQR:5 .
>> I could get pattern for second one. How can i combine the patterns to
>> match either one of them. Id this valid
>> /No Activity/||/.+\sXYZ:(\d+)+\s+ABC:(\d+)+\s+MNO:(\d+)+\s+PQR:(\d+)/
>
> I'm no expert on re, but yes, it would be valid to have that expression,
> but only if the string is in $_. Otherwise each pattern match would
> need the variable as well:
>
> $line =~ /No Activity/ || $line =~
> /.+\sXYZ:(\d+)+\s+ABC:(\d+)+\s+MNO:(\d+)+\s+PQR:(\d+)/
Yes, but the OP asked for a way to combine them, which is not what you are
doing (and neither is his suggestion) - that is 2 separate commands. This
could be used instead:
/No Activity|.+\sXYZ:(\d+)+\s+ABC:(\d+)+\s+MNO:(\d+)+\s+PQR:(\d+)/
^
Note the '|' to use alternation...
>
> You will find that the pluses after your number matches are superfluous:
>
> (\d+)+ can be written (\d+)
>
> If your log file contains many "No Activity" lines, then you will
> probably find it to run faster if you use ordinary string comparison
> for the no activity lines, eg.:
>
> 'No Activity' eq $_
>
> or, if you haven't used 'chop' or 'chomp' on the string:
>
> 'No Activity\n' eq $_
>
> (I am assuming the 'No Activity' is the only text on the line.)
>
> Kind Regards,
>
> /Gunnar
Kevin
------------------------------
Date: 9 Jun 2004 22:13:23 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude>
Subject: Object oriented form parsing
Message-Id: <Xns9503B96039663asu1cornelledu@132.236.56.8>
Hello:
I am testing out an idea and trying to see whether it makes sense.
I have a pretty basic CGI application that has multiple forms with a
number of common elements on them. But depending on application state
some elements may appear on a given form and others may not.
I thought it might make sense to encapsulate the validation and
untainting of input in a simple object. For example:
package Ulti::Param::Period;
use strict;
use warnings;
use Regexp::Common qw(number);
sub new {
my $class = shift;
my $self = eval {
defined $_[0] or die;
my $value = $_[0];
$value =~ /^\s*$RE{num}{int}{-keep}\s*$/ or die;
$value = 0 + $1;
(0 <= $value) or die;
return $value;
};
return bless \$self, $class if defined $self;
return;
}
sub value { ${$_[0]}; }
1;
__END__
In addition, corresponding to each form that needs to be processed, there
is an object that handles the validation of all elements on that form.
For example:
package Ulti::Form::SubmitEditSession;
use Ulti::Param::Endowment;
use Ulti::Param::ExchangeRate;
use Ulti::Param::GroupSize;
use Ulti::Param::Matching;
use Ulti::Param::ParamName;
use Ulti::Param::PayoffMethod;
use Ulti::Param::Period;
use Ulti::Param::Role;
use Ulti::Param::SessionID;
sub new {
my $class = shift;
my $self = { };
return bless $self, $class;
}
sub validate {
my ($self, $cgi) = @_;
if(my $v = Ulti::Param::Period->new($cgi->param('practice_periods')))
{
$self->{'param'}->{'practice_periods'} = $v->value;
}
else
{
$self->{'error'} = 'practice_periods';
return;
}
# validate the rest of the inputs
return $self->{'param'};
}
sub error { return $_[0]->{'error'}; }
1;
__END__
And then, in the main code, I use:
sub submit_edit_session {
my $app = shift;
my $form = Ulti::Form::SubmitEditSession->new;
my $params = $form->validate($app->query);
unless( $params ) { return $app->show_error($form->error); }
# do something with $params
}
Is this reasonable at all? What problems do you see? I have tried using
CGI::Untaint but somehow the method above fits better with the way my
mind works, but I would like to get some advice from better minds than
mine before commiting to it.
Sinan.
--
A. Sinan Unur
1usa@llenroc.ude (reverse each component for email address)
------------------------------
Date: Thu, 10 Jun 2004 00:15:10 +0000 (UTC)
From: Ben Morrow <usenet@morrow.me.uk>
Subject: Re: Object oriented form parsing
Message-Id: <ca896e$n3t$2@wisteria.csv.warwick.ac.uk>
Quoth "A. Sinan Unur" <1usa@llenroc.ude>:
>
> I have a pretty basic CGI application that has multiple forms with a
> number of common elements on them. But depending on application state
> some elements may appear on a given form and others may not.
>
> I thought it might make sense to encapsulate the validation and
> untainting of input in a simple object. For example:
>
> package Ulti::Param::Period;
>
> use strict;
> use warnings;
>
> use Regexp::Common qw(number);
>
> sub new {
> my $class = shift;
<snip>
> In addition, corresponding to each form that needs to be processed, there
> is an object that handles the validation of all elements on that form.
> For example:
>
> package Ulti::Form::SubmitEditSession;
>
> use Ulti::Param::Endowment;
> use Ulti::Param::ExchangeRate;
> use Ulti::Param::GroupSize;
> use Ulti::Param::Matching;
> use Ulti::Param::ParamName;
> use Ulti::Param::PayoffMethod;
> use Ulti::Param::Period;
> use Ulti::Param::Role;
> use Ulti::Param::SessionID;
Purely as a matter of taste, rather than having all these different
classes I would have one class, Ulti::Param, with multiple constructors
named after the parameter name. These would be called like:
> sub validate {
> my ($self, $cgi) = @_;
>
> if(my $v = Ulti::Param::Period->new($cgi->param('practice_periods')))
if ( my $v = Ulti::Param->period($cgi->param('practice_periods') ) {
Similarly for the forms. I would also be strongly tempted to pass the
whole CGI object and a param name in, so that the param could if
necessary validate its consistency with the others on the form.
> {
> $self->{'param'}->{'practice_periods'} = $v->value;
All those quotes and the second -> are unnecessary:
$self->{param}{practice_periods} = $v->value;
Ben
--
Joy and Woe are woven fine,
A Clothing for the Soul divine William Blake
Under every grief and pine 'Auguries of Innocence'
Runs a joy with silken twine. ben@morrow.me.uk
------------------------------
Date: Thu, 10 Jun 2004 02:24:43 +0000 (UTC)
From: "David H. Adler" <dha@panix2.panix.com>
Subject: Re: PERL C++/ CONTRACT/ IMMEDIATE
Message-Id: <slrnccfhjb.53e.dha@panix2.panix.com>
On 2004-06-09, Tom Gugger <tgugger@buckeye-express.com> wrote:
>
> C++/ PERL/ CONTRACT/ SEATTLE
You have posted a job posting or a resume in a technical group.
Longstanding Usenet tradition dictates that such postings go into
groups with names that contain "jobs", like "misc.jobs.offered", not
technical discussion groups like the ones to which you posted.
Had you read and understood the Usenet user manual posted frequently to
"news.announce.newusers", you might have already known this. :) (If
n.a.n is quieter than it should be, the relevent FAQs are available at
http://www.faqs.org/faqs/by-newsgroup/news/news.announce.newusers.html)
Another good source of information on how Usenet functions is
news.newusers.questions (information from which is also available at
http://www.geocities.com/nnqweb/).
Please do not explain your posting by saying "but I saw other job
postings here". Just because one person jumps off a bridge, doesn't
mean everyone does. Those postings are also in error, and I've
probably already notified them as well.
If you have questions about this policy, take it up with the news
administrators in the newsgroup news.admin.misc.
http://jobs.perl.org may be of more use to you
Yours for a better usenet,
dha
--
David H. Adler - <dha@panix.com> - http://www.panix.com/~dha/
I'm already not yet convinced. - Larry Wall
------------------------------
Date: Wed, 09 Jun 2004 22:25:34 GMT
From: Bryan <bryan@akanta.com>
Subject: String matching and alignment?
Message-Id: <y7Mxc.68823$4P6.2980@newssvr29.news.prodigy.com>
If I have some sequence data:
my $seq = "AGCCTCAAAGTTCGG";
and some subset:
my $subset = "CAAAGTTC";
I want to first, match the pattern to see if $subset is found in $seq
(which is fine), but then I also want to know the starting and end
positions of the match in the original sequence, i.e. start = 6, end =
13, is there something (like backreferences) fromt the regex that will
give me this info? Or....?
thanks,
B
------------------------------
Date: Thu, 10 Jun 2004 09:39:32 +1000
From: Simon Taylor <simon@unisolve.com.au>
Subject: Re: String matching and alignment?
Message-Id: <ca879b$1hfk$1@otis.netspace.net.au>
Bryan wrote:
> If I have some sequence data:
> my $seq = "AGCCTCAAAGTTCGG";
>
> and some subset:
> my $subset = "CAAAGTTC";
>
> I want to first, match the pattern to see if $subset is found in $seq
> (which is fine), but then I also want to know the starting and end
> positions of the match in the original sequence, i.e. start = 6, end =
> 13, is there something (like backreferences) fromt the regex that will
> give me this info? Or....?
Try the following:
#!/usr/bin/perl
use strict;
use warnings;
my $seq = "AGCCTCAAAGTTCGG";
my $subset = "CAAAGTTC";
if ($seq =~ m/$subset/g) {
print "offset where last m//g match left off: " . pos($seq) . "\n";
print "everything before matched string: $`\n";
print "everything after matched string: $'\n";
print "The entire matched string: $&\n\n";
}
Which gives me the following output:
offset where last m//g match left off: 13
everything before matched string: AGCCT
everything after matched string: GG
The entire matched string: CAAAGTTC
Hope this helps.
- Simon Taylor
--
Unisolve Pty Ltd - Melbourne, Australia
------------------------------
Date: Thu, 10 Jun 2004 09:52:09 +1000
From: Sisyphus <kalinaubears@iinet.net.au>
Subject: Re: String matching and alignment?
Message-Id: <40c7a3d7$0$29813$5a62ac22@freenews.iinet.net.au>
Bryan wrote:
> If I have some sequence data:
> my $seq = "AGCCTCAAAGTTCGG";
>
> and some subset:
> my $subset = "CAAAGTTC";
>
> I want to first, match the pattern to see if $subset is found in $seq
> (which is fine), but then I also want to know the starting and end
> positions of the match in the original sequence, i.e. start = 6, end =
> 13, is there something (like backreferences) fromt the regex that will
> give me this info? Or....?
>
Start = length($`) + 1
End = length($`) + length($&)
Alternatively, end = length($`) + length($subset)
See perldoc perlvar for documentation on $`, $' and $&.
Cheers,
Rob
--
To reply by email u have to take out the u in kalinaubears.
------------------------------
Date: Wed, 9 Jun 2004 23:11:53 -0000
From: "gnari" <gnari@simnet.is>
Subject: Re: String matching and alignment?
Message-Id: <ca85c7$t6p$1@news.simnet.is>
"Bryan" <bryan@akanta.com> wrote in message
news:y7Mxc.68823$4P6.2980@newssvr29.news.prodigy.com...
> If I have some sequence data:
> my $seq = "AGCCTCAAAGTTCGG";
>
> and some subset:
> my $subset = "CAAAGTTC";
>
> I want to first, match the pattern to see if $subset is found in $seq
> (which is fine), but then I also want to know the starting and end
> positions of the match in the original sequence, i.e. start = 6, end =
> 13, is there something (like backreferences) fromt the regex that will
> give me this info? Or....?
perldoc -f index
if you really want to use regexes:
perldoc perlvar (see @-)
gnari
------------------------------
Date: Thu, 10 Jun 2004 01:50:57 GMT
From: Joe Smith <Joe.Smith@inwap.com>
Subject: Re: String matching and alignment?
Message-Id: <58Pxc.16$Bm1.14@attbi_s04>
Bryan wrote:
> If I have some sequence data:
> my $seq = "AGCCTCAAAGTTCGG";
>
> and some subset:
> my $subset = "CAAAGTTC";
>
> I want to first, match the pattern to see if $subset is found in $seq
> (which is fine), but then I also want to know the starting and end
> positions of the match in the original sequence, i.e. start = 6, end =
> 13, is there something (like backreferences) fromt the regex that will
> give me this info?
Use the magic arrays @- and @+.
(Do not use $`, $&, and $' as they will just slow you down.
my $seq = "AGCCTCAAAGTTCGG";
my $subset = "CAAAGTTC";
if ($seq =~ /($subset)(.?)/) {
print "Overall match starts at $-[0] and ends just before $+[0]\n";
print " 1st () match starts at $-[1] and ends just before $+[1]\n";
print " 2nd () match starts at $-[2] and ends just before $+[2]\n";
}
------------------------------
Date: Thu, 10 Jun 2004 00:06:03 +0000 (UTC)
From: Ben Morrow <usenet@morrow.me.uk>
Subject: Re: sub returning nothing
Message-Id: <ca88lb$n3t$1@wisteria.csv.warwick.ac.uk>
Quoth Gunnar Strand <MyFirstnameHere.News1@gustra.org>:
> Ben Morrow wrote:
> >
> > I will assume you're not being stupid :), and that in fact your isok
> > function is more like:
> >
> > sub isok {
> > print +( $_[0] ? 'ok' : 'not ok' ), " # $_[1]\n";
> > }
> >
>
> Good point, I should have used the second argument of isok in my
> example for clarity. Thanks for your confidence, but sometimes I
> wonder :-)
>
> > and your problem is that
> >
> > isok void, 'testing void function';
> >
> > prints 'ok' not 'not ok'. The answer here is that isok should have been
> > prototyped with ($$): in that case, the first arg would be evaluated in
> > scalar context, and would have been 'undef' not '()', and it would have
> > worked correctly.
>
> Unfortunately what you are suggesting will not work since I am using
> Test::Unit::TestCase::assert() (as isok), which can accept either one
> or more arguments, so it has no chance of telling which way it was
> called.
Actually, the problem with assert is that it is a method, so it can't be
prototyped. If it were a function, it should have a prototype of ($;$):
one scalar and one optional scalar argument.
If this is bugging you, I would recommend writing call_assert:
sub call_assert ($$;$) {
shift->assert(@_);
}
> > If for some reason you don't wish to use prototypes then you must do the
> > work of adding scalar() where necessary yourself.
>
> Yes, I used the assert( myvoid() || '', "Function failed" )
Hmm, that seems a little obscure, when this is precisely what the scalar
builtin is for:
$self->assert( scalar myvoid => 'Function failed' );
Ben
--
For the last month, a large number of PSNs in the Arpa[Inter-]net have been
reporting symptoms of congestion ... These reports have been accompanied by an
increasing number of user complaints ... As of June,... the Arpanet contained
47 nodes and 63 links. [ftp://rtfm.mit.edu/pub/arpaprob.txt] * ben@morrow.me.uk
------------------------------
Date: Wed, 09 Jun 2004 22:17:29 GMT
From: spamtotrash@toomuchfiction.com (Kevin Collins)
Subject: Re: Text GUI with Perl
Message-Id: <slrnccf33m.gql.spamtotrash@doom.unix-guy.com>
In article <ca7hgh$cjl$1@wisteria.csv.warwick.ac.uk>, Ben Morrow wrote:
>
> Quoth iqrity@web.de (Thorsten Gottschalk):
>> Hi all,
>>
>> I search a module for doing easy text dialogs with perl.
>> I tried to find something in CPAN, but I only find curses or something similar.
>> But curses is to complex for that I want to do.
>> I only need very basic dialoges like that tool dialog under Linux can provide.
>> Is there an interface or module for that?
>>
>> Remeber I need no colors, no mouse, only text.
>
> UI::Dialog is an interface to the many variants of 'dialog' that are
> available, including [xkg]dialog as well as the original console-based
> program.
>
> Curses::UI is a module built on top of Curses which lets you create
> simple dialogs.
Maybe I read this wrong, but I assumed the OP was wanting a module to use
because he didn't have dialog. I could very well be wrong, but that is why I
did not mention UI::Dialog.
Kevin
------------------------------
Date: Thu, 10 Jun 2004 01:33:16 GMT
From: Joe Smith <Joe.Smith@inwap.com>
Subject: Re: Variable hash names?
Message-Id: <wTOxc.25761$Sw.7744@attbi_s51>
Doug O'Leary wrote:
> %INVALID_TGT_GROUPS ( 'adm' => 1, 'bin' => 1 ...)
> %VALID_HD_USERS ( 'blfarrel' => 1, 'dekojis' => 1...)
> %INVALID_HD_USERS ( 'dkoleary' => 1, 'jarodrigue' => 1 ...)
Why don't you use a main hash that has several sub hashes?
%Registry = ( INVALID_TGT_GROUPS => { adm => 1, bin => 1, },
VALID_HD_USERS => { blfarrel => 1, dekojis => 1, },
INVALID_HD_USERS => { dkoleary => 1, jarodrigue => 1, },
);
foreach $hash ( keys %Registry) {
print "The hash $hash has the following entries:\n";
foreach $key ( sort keys %{$Registry{$hash}} ) {
print " $key => $Registry{$hash}{$key},";
}
print "\n";
}
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc. For subscription or unsubscription requests, send
#the single line:
#
# subscribe perl-users
#or:
# unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V10 Issue 6673
***************************************