[10979] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 4579 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Jan 8 02:07:24 1999

Date: Thu, 7 Jan 99 23:00:22 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Thu, 7 Jan 1999     Volume: 8 Number: 4579

Today's topics:
    Re: "internal server error" <eugene@snailgem.org>
        a couple of beginner questions here. <wayne@deerhurst.com>
        ActiveState seek/tell problem <smkgg@hermes.svf.uib.no>
    Re: Case Modification (Tad McClellan)
    Re: copying complex hashes (Tad McClellan)
        Does MacPerl live here too? <tavi367@ibm.net>
        GD.pm / DynaLoader problem (jim barchuk)
    Re: Global variables and use strict question (Ronald J Kimball)
    Re: If Larry Wall's listening out there.... (Elf Sternberg)
    Re: If Larry Wall's listening out there.... (Ronald J Kimball)
    Re: Improve speed of a perl-script ... and efficiency i <ebohlman@netcom.com>
        is there a hex print of strings? (Steven Barbash)
    Re: line continuation; the switch statement (Ronald J Kimball)
    Re: line noise <ebohlman@netcom.com>
    Re: messageboard (brian d foy)
        NT Add user using perl <jw@jaycom.net.au>
    Re: Perl Criticism (David Formosa (aka ? the Platypus))
    Re: Perl Criticism (David Formosa (aka ? the Platypus))
    Re: Perl Criticism (Tad McClellan)
    Re: Perl Criticism <ebohlman@netcom.com>
    Re: Perl Criticism <ebohlman@netcom.com>
    Re: Position Available ASAP in Perl (brian d foy)
    Re: Problem with Perl script <eugene@snailgem.org>
        Retrieveing TZ Registry Info <tavi367@ibm.net>
    Re: size 1M dbm file has only 1 record? <ebohlman@netcom.com>
    Re: Someone asked how to capitalise first letter of eac (Andre L.)
        system() call and file creaton by the child process (William Herrera)
        What is the best way to archive sar data? <efinch@cais.com>
    Re: what's with all the job posts? (Ronald J Kimball)
        Special: Digest Administrivia (Last modified: 12 Dec 98 (Perl-Users-Digest Admin)

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

Date: Thu, 07 Jan 1999 20:54:18 -0500
From: Eugene Sotirescu <eugene@snailgem.org>
To: Eirik Johansen <webpages@email.com>
Subject: Re: "internal server error"
Message-Id: <3695654A.D41BEF79@snailgem.org>

What does it do when it doesn't work?
(Beside collecting unemployment ;---------------) )

Eirik Johansen wrote:

> Hi !
>
> I've just started learning Perl and I recently modified a CGI-skripy,
> but now it won't work and I don't know why. Would someone be as kind as
> to rund it un their Unix shell (I don't have Unix) and tell me which
> line makes the error.
>
> Thanks so very much !
>
> Regards
>
> Eirik Johansen
>
> #!/usr/bin/perl
>
> # This script will take information from a form
> # and place it in a mail to the desired recipent
>
> print "Content-type:text/html\n\n";
>
> read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
> @pairs = split(/&/, $buffer);
> foreach $pair (@pairs) {
> ($name, $value) = split(/=/, $pair);
> $value =~ tr/+/ /;
> $value =~ tr/%40/@/;
> $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
> $FORM{$name} = $value;
> }
>
> $mailprog = '/usr/sbin/sendmail';
>
> # this opens an output stream and pipes it directly to the sendmail
> # program. If sendmail can't be found, abort nicely by calling the
> # dienice subroutine (see below)
>
> open (MAIL, "|$mailprog -t") or &dienice("Can't access $mailprog!\n");
>
> # here we're printing out the header info for the mail message. You must
>
> # specify who it's to, or it won't be delivered:
>
> print MAIL "To: $FORM{$recipient}\n";
>
> # In case the owner of the form has any questions, I'll set the
> # reply-adress as my own
>
> $reply = 'webpages@email.com';
>
> print MAIL "Reply-to: $reply\n";
>
> # print out a subject line so you know it's from your form cgi.
> # The two \n\n's end the header section of the message. Anything
> # you print after this point will be part of the body of the mail.
>
> print MAIL "Subject: $FORM{$subject}\n\n";
>
> # here you're just printing out all the variables and values, just like
> # before in the previous script, only the output is to the mail message
> # rather than the followup HTML page.
>
> foreach $key (keys(%FORM)) {
> print MAIL "$key = $FORM{$key}\n";
> }
>
> # when you finish writing to the mail message, be sure to close the
> # input stream so it actually gets mailed.
>
> close(MAIL);
>
> # now print something to the HTML page, usually thanking the person
> # for filling out the form, and giving them a link back to your homepage
>
> print <<EndHTML;
> <h2>Thank You</h2>
> Thank you for writing. Your mail has been delivered.<p>
> Do you want a form like this one? Then visit <a
> href="http://webpages.findhere.com" target="_top">The Webpage of
> Webpages</a>
> </body></html>
> EndHTML
> ;
>
> sub dienice {
> ($errmsg) = @_;
> print "<h2>Error</h2>\n";
> print "$errmsg<p>\n";
> print "</body></html>\n";
> exit;
> }



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

Date: Fri, 08 Jan 1999 00:03:28 -0500
From: Wayne <wayne@deerhurst.com>
Subject: a couple of beginner questions here.
Message-Id: <3695919F.82339747@deerhurst.com>

Just learning Perl and have 2 questions:
1. I am going to capture data from the web sent via a form with the post
method. If I read data into %in I will get for eg.
%in(name0, value0, name1, value1, name2, value2)
If a visitor to my site doesn't fill in anything for value2 on the form
will the array still have a name2 and will value2 just be zero? Or will
array only have (name0, value0, name1, value1)?

2. A form contains Name and address information  as well as a list of
products and there price. A visitor will fill in a quantity beside a
product and I want my perl program to calculate the total. I will be put
the form data (sent via the post method) in an array %in. I was thinking
of the approach where I have hidden fields in the form to match a
product with the price. Now how would I get the program to match a
product that has a quantity selected that is >=1 with it' price. I can't
figure how to go through the array and pick out the quantity value(s)
and not get the zipcode or even the strings.

I hope this makes sense and I am probably overlooking something very
basic here. Thanks for any advice to steer me in the right direction

Sincerely,
Wayne





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

Date: 8 Jan 1999 05:41:41 GMT
From: Kurt George Gjerde <smkgg@hermes.svf.uib.no>
Subject: ActiveState seek/tell problem
Message-Id: <7745ql$5ri$2@toralf.uib.no>

I'm having problem with seek/tell in ActivePerl (winNT).
The general problem is that a script like:

  $pos = tell $file;
  $line = <$file>;
  seek $file, $pos, 0;

does not move the file pointer back to the original position.
It seems to be a few bytes off.

This could be related to the difference between DOS and UNIX text files
(line endings). I originally had the text file in UNIX format but had to
convert to DOS format (it helped a bit but not quite).

Doing the following script on a UNIX text file (using ActivePerl in NT):

  open $file, "unixfile.txt";
  $pos = tell $file;

assigns a negative value (below 0) to $pos...

Never had any problems like this on Unix.

Anyone experienced this or is it just me?


-Kurt.









-- 
`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'
Kurt George Gjerde
Kurt.Gjerde@media.uib.no

The Bernard Herrmann Web Pages
http://www.uib.no/herrmann

`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'



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

Date: Thu, 7 Jan 1999 23:08:09 -0600
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Case Modification
Message-Id: <pr3477.pik.ln@magna.metronet.com>

Clay Irving (clay@panix.com) wrote:
: In <3694FD5F.8A789676@xsite.net> Andy Biegel <andy@xsite.net> writes:

: >How can I go about taking a string (for example):

: >"THIS IS A TEST"

: >and modifying it so that only the first letter of each word is
: >capitalized? Any help would be appreciated.

: perldoc perlfunc

:      ucfirst EXPR


   But that leaves the string above unchanged.



      perldoc -f lc

   for the other piece of the puzzle.


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Thu, 7 Jan 1999 23:12:27 -0600
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: copying complex hashes
Message-Id: <r34477.pik.ln@magna.metronet.com>

Jonathan Feinberg (jdf@pobox.com) wrote:
: lori@cse.ucsc.edu (Lori Flynn ) writes:

: > %copiedInfo = $Hash->{sourceDestPairs};


: And since we're talking about references, this is a good time to
: mention your perl reference...

:    $ perldoc perltoc
:    $ perldoc perldata
:    $ perldoc perlref
:    $ perldoc perllol
:    $ perldoc perldsc

: > 2)I'm confused about the difference between using the arrow (as in
: > above example) to reference a hash field and other times in my Perl
: > book where fields are referenced without an arrow (ie something like
: > $Hash{sourceDestPairs} ).  Does this have something to do with
: > pointers?


   The root of Lori's confusion is pointed out near the top
   of perldsc:


---------------
The most important thing to understand about all data structures in Perl
-- including multidimensional arrays--is that even though they might
appear otherwise, Perl C<@ARRAY>s and C<%HASH>es are all internally
one-dimensional.  They can hold only scalar values (meaning a string,
number, or a reference).  They cannot directly contain other arrays or
hashes, but instead contain I<references> to other arrays or hashes.

You can't use a reference to a array or hash in quite the same way that you
would a real array or hash.
---------------


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Thu, 7 Jan 1999 23:58:37 -0600
From: "walter" <tavi367@ibm.net>
Subject: Does MacPerl live here too?
Message-Id: <36959ee8.0@news1.ibm.net>

I didn't find a newsgroup for MacPerl, so I guess this is where those folks
hang out as well (I hope).

I have a need to know if any of you MacPerl gurus out there know how to get
the Time Zone that your Mac is set to?

And if so, do you know (or can you get) all the names of all 30 something
Time Zones that are out there in a list?

I would appreciate any info in this direction.

Walter

PS: My Mac is sick and I can't get it fixed yet, so all I have to
    work with is a PC from my job. So, please, if you have any code that
    can retrieve this info I sure would appreciate you passing it along.

    Thanks

====================================================================
The software required `Windows 95 or better', so I installed Mac OS.
 -- Remember: Win 95 = Mac 84 = GS 80 = Xerox 72




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

Date: Thu, 7 Jan 1999 23:00:51 -0500
From: jb@jbarchuk.com (jim barchuk)
Subject: GD.pm / DynaLoader problem
Message-Id: <jtv377.35t.ln@jbarchuk.tiac.net>

Hello All!

Been using GD.pm 1.14 and Perl 5.003 for a while to write a couple of
neat online image creation/modification utilities. (And have plans for
more.)

Upgraded to Perl 5.00403 and get compile error. Noticed there was a
GD.pm 1.18, tried that but still get the same error.

perl -wc yields:

====
perl: can't resolve symbol 'tmps_floor'
perl: can't resolve symbol 'tmps_ix'
Can't load '/usr/lib/perl5/site_perl/i386-linux/auto/GD/GD.so' for
module GD: Unable to resolve symbol at
/usr/lib/perl5/i386-linux/5.00403/DynaLoader.pm line 155.

 at /home/httpd/jbarchuk/cgi-bin/composite/plain.pl line 3
BEGIN failed--compilation aborted at
/home/httpd/jbarchuk/cgi-bin/composite/plain.pl line 3.
====

 ..where 'line 3' is 'use GD'.

Any clues how to debug this?

I did see exactly -one- message via Dejanews that mentioned 'GD.pm
1.18' and 'DynaLoader' but was a *.fj.* and I couldn't even decode the
character set never mind read it. :)

I do still have an rpm for 5.003-8 but scared to install that for fear
it'll muck up other things. If there were a 'safe' way to do that
without blowing up 5.00403 I'd do it if someone could describe how.

Thanks much. Have a :) day!

jb

-- 
jim barchuk
jb@jbarchuk.com




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

Date: Fri, 8 Jan 1999 01:21:06 -0500
From: rjk@linguist.dartmouth.edu (Ronald J Kimball)
Subject: Re: Global variables and use strict question
Message-Id: <1dladbc.g6x8solax0s5N@bay1-324.quincy.ziplink.net>

<nospam@here.com> wrote:

> For some of my global vars I'm using "use vars" to
> "declare" them (is that right?), but with the rest of them, I make
> them local to my program with the "my" keyword.  Both of these work,
> but which is better, or should I be using fully qualified references
> to all of my global variables instead?

I think you're doing it exactly right.  use vars qw() for variables
which need to be available in Getopt::Std and other modules, and my()
for variables which don't.  Using fully qualified references to all your
variables is just ugly.  :-)

-- 
 _ / '  _      /         - aka -          rjk@linguist.dartmouth.edu
( /)//)//)(//)/(     Ronald J Kimball      chipmunk@m-net.arbornet.org
    /                                  http://www.ziplink.net/~rjk/
        "It's funny 'cause it's true ... and vice versa."


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

Date: 8 Jan 1999 05:47:28 GMT
From: elf@halcyon.com (Elf Sternberg)
Subject: Re: If Larry Wall's listening out there....
Message-Id: <77465g$hea$1@brokaw.wa.com>

In article <gval2.56$FY1.1974@nsw.nnrp.telstra.net> 
    mgjv@comdyn.com.au (Martien Verbruggen) writes:

>In article <772kb4$go3$1@brokaw.wa.com>,
>	elf@halcyon.com (Elf Sternberg) writes:

>> 	Um, no.  Arguments are pass-by-value unless wery serious care
>> is taken to do otherwise.

>Most of what you say is correct, AFAIK, but this isn't. You can test
>it by simply doing something like:

># perl -le 'sub inc {$_[0]++}; $x = 2; inc($x); print $x'
>3

>You make copies yourself, unless you _want_ to manipulate the
>original, in which case you should probably create a (lexically) local
>reference.  That is why perl subs almost always start with 
>
>my ($v1, $v2) = @_;
>
>or
>
>my $a = shift;

	Eek.  You are correct, sir; my mistake.  I'm so used to using
the above forms that I seem to have considered them part of the
language and habitually use lexically local references with
considering that the references still exist in @_[].

	My apologies.

		Elf

--
Elf M. Sternberg, rational romantic mystic cynical idealist
       If you're so smart, why aren't you naked?
            http://www.halcyon.com/elf/


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

Date: Fri, 8 Jan 1999 01:21:08 -0500
From: rjk@linguist.dartmouth.edu (Ronald J Kimball)
Subject: Re: If Larry Wall's listening out there....
Message-Id: <1dladrd.n0uc301e8lt86N@bay1-324.quincy.ziplink.net>

Andrew Mayo <andrew@geac.co.nz> wrote:

> Those of us working in a Windows environment generally will use notepad as a
> text editor. Simple-mindedly, notepad does *not* display line numbers. (it
> also doesn't do brace matching, but this I can live with)

Well, I work in a Windows environment, and I don't use NotePad.

I write all my Perl programs by hand, on sheets of 8.5 x 11 paper.  When
I'm ready to test them, I scan them and use OCR to get plain text files.
If there are bugs, I correct the handwritten pages and scan them in
again.

Unfortunately, my OCR software often has trouble distinguishing between
periods and commas, so when I try to run my Perl scripts they don't
compile.

I cannot find a command-line switch to make Perl realize when a comma
should be a period and when a period should be a comma.  Is there any
way I can get Perl to treat all punctuation the same or am I stuck
tweaking my scripts every time I scan them in?  If the latter, may I
humbly suggest this as an enhancement for a future version?


(I suppose I could use a real editor to write my Perl scripts, but then
what would I complain about?)


print "Just another Perl calligrapher,\n";

-- 
 _ / '  _      /         - aka -          rjk@linguist.dartmouth.edu
( /)//)//)(//)/(     Ronald J Kimball      chipmunk@m-net.arbornet.org
    /                                  http://www.ziplink.net/~rjk/
        "It's funny 'cause it's true ... and vice versa."


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

Date: Fri, 8 Jan 1999 05:25:48 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: Improve speed of a perl-script ... and efficiency info.
Message-Id: <ebohlmanF58730.MFo@netcom.com>

Dan Wilga <dwilgaREMOVE@mtholyoke.edu> wrote:

: Personally, I've found that once the size of a string being pattern
: matched exceeds about 1000 bytes, the time required to do the matches
: starts to go WAY up. Using DProf, I found that the time increases
: considerably for each character added after that magic number.

That sort of behavior strongly suggests that you're using a regular
expression that requires unnecessary backtracking, which can in some cases
lead to exponential time complexity (i.e. each additional character 
doubles the amount of work that has to be done.  The sign of an 
exponential-time algorithm is that it "hits the wall" at some length of 
input.  A linear-time algorithm that takes, say, one minute to process 
10,000 items will take two minutes to process 20,000 items.  A 
quadratic-time algorithm would take four minutes.  An exponential-time 
algorithm would take an hour). 

: So if you're doing something where you are searching or matching on large
: strings, see if there is some way you can split them up a bit.

If my hunch is correct, you need to change the regular expressions, not 
the strings you're matching them against.


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

Date: Fri, 8 Jan 1999 00:31:34 -0500
From: stevenba@ccpl.carr.org (Steven Barbash)
Subject: is there a hex print of strings?
Message-Id: <MPG.10ff6242783404f898968c@www.siast.sk.ca>

Is there a function or module or ... that inputs a string and outputs its 
hex value?  

What I want is like this:

source: "this is a test"
output: "7468697320697320612074657374"

Doc refs, samples, etc all welcome, as are related issues.

Thanks,
Steve


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

Date: Fri, 8 Jan 1999 01:21:10 -0500
From: rjk@linguist.dartmouth.edu (Ronald J Kimball)
Subject: Re: line continuation; the switch statement
Message-Id: <1dlaehj.kalq6b1xlr31nN@bay1-324.quincy.ziplink.net>

Andrew Mayo <andrew@geac.co.nz> wrote:

> Oh, can you - interesting... well, I was also told you can omit them, which
> is even better. The thing is, page 104 of Programming Perl presents some
> switch statements and being a newbie I took the line of reasoning that went
> "gee, these guys are, like, experts; they wouldn't use a label if it wasn't
> necessary, would they?". (after all, the authors are Larry Wall, Tom
> Christiansen and Randal L Schwartz and who am I to argue with *them*)?
> bashful <g>

You have failed to learn the motto of Perl programming.  There Is More
Than One Way To Do It.  Also, examples are just that: examples.  If you
want to know all the ways to do things, not just the ways shown in the
examples, you have to read the rest of the documentation.  :-)

> so, wouldn't *this* be better as a canonical case?
> 
>     {
>     if (conditional expression1)
>             {
>             ....do case 1 stuff;
>             next;
>             }
> 
>     if (cond expr 2)
>             {
>             .....do case 2 stuff;
>             next;
>             }
> 
>     }

No.  Without the label, the code is not as self-documenting.  The label
provides useful clarity.  Clarity is very important in examples,
wouldn't you say?

Of course, if you happen to add another loop later on:

    {
    if (conditional expression1)
            {
            ....do case 1 stuff;
            next;
            }

    if (cond expr 2)
            {
            for () {
                 if (cond expr 2a) {
                      next;
                 }
            }

    }

with the intention that the next still applies to the outer loop, then
you're in trouble if you forget to add labels.

> Since I did buy only one book, would it be fair to say that it *plus* the
> man pages constitute the definitive programmer's reference, clarifying all
> issues of semantics and syntax in the same way that reading the ANSI C
> standard from cover to cover does?. Or is there some other information I
> should have access to?.

The man pages are the definitive programmer's reference.  In particular,
the man pages are updated with each new release, while any book on Perl
is updated less frequently.  Programming Perl is definitely the best
book to have in addition to the man pages.

> I say this, bearing in mind that I don't expect
> either of those sources to teach me good Perl style, or contain all the Perl
> source ever written, or show me all the silly traps I can fall into.

You wouldn't even expect the perlstyle manpage to teach you good Perl
style?  How about perltrap, to show you many (but not all) of the silly
traps you can fall into?

The perl manpage, by the way, lists all the separate manpages that come
with Perl.

> But, for example, when I come across this...
> 
> $var = {  };
> 
> as I did in a piece of sample Perl code I just lifted off this group,right
> now I'm not exactly sure what that assignment is doing. This is where formal
> BNF grammars etc do tend to help... is there such a thing for Perl?

This is actually an FAQ.  perlfaq7:

  Can I get a BNF/yacc/RE for the Perl language?

        No, in the words of Chaim Frenkel: "Perl's grammar can not be
        reduced to BNF. The work of parsing perl is distributed between
        yacc, the lexer, smoke and mirrors."

Sorry. :-(


That assignment is assigning an anonymous hash reference to $var.  This
is covered in perlref and chapter 4 of Programming Perl.

-- 
 _ / '  _      /         - aka -          rjk@linguist.dartmouth.edu
( /)//)//)(//)/(     Ronald J Kimball      chipmunk@m-net.arbornet.org
    /                                  http://www.ziplink.net/~rjk/
        "It's funny 'cause it's true ... and vice versa."


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

Date: Fri, 8 Jan 1999 06:38:59 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: line noise
Message-Id: <ebohlmanF58AGz.5H1@netcom.com>

Bart Lateur <bart.lateur@skynet.be> wrote:
: bj wrote:

: >OTOH, the lack of a formal, legal support requirement makes the
: >"suits" nervous and upset at times.

: Does the "legal support requirement" actually help in commercial
: products? It's my (limited) experience that it's not the top notch
: people that do the technical support, to put it politely. Yet, those
: support problems may be the toughest of all.

Additionally, every commercial license agreement I've ever seen for a 
programming tool specifically limits damages to the purchase price of the 
tool.  I'm not sure if this aspect of these agreements has ever been 
tested in court, but "we should use tool A rather than tool B because if 
tool A doesn't work, we can get our $1000 back but if tool B doesn't 
work, we can't get what we paid for it back because we didn't pay for it" 
doesn't sound like a very compelling argument to me.

Note that with an open-source product like Perl, one has the option to 
enter into a legally binding agreement with a consulting firm to provide 
support, even to the extent of producing a custom version of Perl if 
necessary; that agreement can say whatever the client and consulting firm 
want it to, and because of that, it's almost certain to hold up in 
court.  That option simply doesn't exist for proprietary products.




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

Date: Fri, 08 Jan 1999 00:56:12 -0500
From: comdog@computerdog.com (brian d foy)
Subject: Re: messageboard
Message-Id: <comdog-ya02408000R0801990056120001@news.panix.com>

In article <m3zp7umndu.fsf@joshua.panix.com>, Jonathan Feinberg <jdf@pobox.com> posted:

> I was wondering if anyone could tell me how to write a simple song.
> 
> I mean just a normal song with lyrics that refer to things and ideas.

well, you might use a script i was playing around with awhile back.  it's
derivative of travesty.pl and creates songs based on three word
co-locations of the lyrics that i fed to it. [knows Jon isn't really
looking for this script]

#!perl

foreach( @ARGV )
   {
   open(FILE, 'Billie Holiday:Desktop Folder:ani.dat') || die;

foreach( <FILE> )
      {
      chomp;
      push @words, split;
      }

   close(FILE);
   }

#print "words = $#words\n";

$first_word = shift @words;
$second_word = shift @words;

while(@words)
   { 
   $third_word = shift @words;
   $frequency{$first_word}{$second_word}{$third_word}++;
   
   $first_word = $second_word;
   $second_word = $third_word;
   }

#choose a first word

@first_words = keys %frequency;

srand;
$count = 4;
while($count < 20)
{
open FILE, ">Billie Holiday:Desktop Folder:txt:ani$count.txt" or die;
foreach(0..30)
{
my($message);

$index = int(rand($#first_words));

$first_word = $first_words[$index];
$message .= $first_word;

@second_words = keys %{$frequency{$first_word}};
$index = int(rand($#second_word));

$second_word = $second_words[$index];
$message .= " $second_word";

foreach(1..200)
   {
   @third_words = keys %{$frequency{$first_word}{$second_word}};
   $index = int(rand($#third_words));

   $third_word = $third_words[$index];
   $message .= " $third_word";
 $message .= "\n" if($_%10 == 0);
   $first_word = $second_word;
   $second_word = $third_word;
   }

print FILE "$message\n";
close(FILE);
$count++;
}
}

-- 
brian d foy                    
CGI Meta FAQ <URL:http://www.smithrenaud.com/public/CGI_MetaFAQ.html>


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

Date: Fri, 8 Jan 1999 17:26:46 +1100
From: "Jason Way" <jw@jaycom.net.au>
Subject: NT Add user using perl
Message-Id: <Jwhl2.183$FY1.6822@nsw.nnrp.telstra.net>

Could nayone please guide me in the correct direction or even better show me
some code to add users to a NT server using the netadmin, adminmisc, etc
modules.

I have been looking around for days and am now at the end of my patience
with FAQ's etc

This is to be the first step in bigger things, eventually i want to add,
delete, and disable or expire passwords

Thanks

Jason Way





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

Date: 8 Jan 1999 05:15:51 GMT
From: dformosa@zeta.org.au (David Formosa (aka ? the Platypus))
Subject: Re: Perl Criticism
Message-Id: <slrn79b545.mcd.dformosa@godzilla.zeta.org.au>

In article <773fma$n1j$1@nnrp1.dejanews.com>, topmind@technologist.com wrote:
>Reply to David Formosa's 1/6 message:
>
>>> Perl is based on a greate meany languges, its a polyglot of most of
>computer scince.  Indeed perl is the way that it is because Mr Wall
>beleaved given the options it was the best was to go. <<
>
>Is the exact decision and ranking process documented somewhere? At least I am
>documenting my choices and making it public.

There are posts in this newsgroup, comments in the O'Rielly books and
the online documentaion.   Also the decision process is carried out
(more or less) on the p5p mailing list.

>>> Perl is basicly the embodyment of the unix philophy of "Don't stop people
>from doing stupid things because you might stop someone from doing something
>cleaver." <<
>
>What if it turns out that the ratio of stupidity to cleverness is
>2:1? If that is the case, then Unix will drag down a company.

Then you don't employ stupid people in the IT dept.  In most cases
I've found its the non-unix solotions dragging down a comperney esp
where it is combined with stupidity.  At worst such systems fool the
stupid people into thinking that they can mannige the system.

> (It may not be 2, but IMO stupidy gt cleverness.)

Unfortunitly this is likely true, however if you are a clever person
it is a constent irratation to be strait jacketted by these safetylocks.

[...]

>My observation is that there are too many stupid programmers that use certain
>features out pure BOREDOM and technical CHALLANGE, not to make programs more
>maintanable or elegant.

I often write whole programes out of share bordem, it is likely that
the support for bored programers is a reson why perl has so meany
publicly advalable modules.

[...]

>What is an example of something you consider powerful in Perl that cannot be
>done in a "safer" way without significant power loss?  (That is a direct
>challenge, by the way. Any takers?)

Contexts, these are for the beginner one of the most confusing aspects
of perl programing.  However there fundermental to perls expressive
power and its convence.

Regular expressions, if you have ever studied formal langages and
automarter you will discover how increadably powerfull these
constructs are.

>>> This seems to reflext less some sort of rule and more a fondness for prefix
>notation.  I don't think that prefix is neccerly more readable nor beter then
>infix (though I will concead that postfix is a real pia).  Calling this a
>"rule" is enshiring what is basicly an issue oftaste. <<
>
>Whatever xfix you dicide on, you should not MIX unless there is a good reason
>to.

You shoudn't do anything unless there is a good reson to.  Personaly I
think where something is operating on two values and returning a third
it should be an infix operator.

[...]

>I don't see a lot of descriptive infix operators.

+ * - / are all descriptive, we use them all the time to describe
those operations.  And most people I know read & as and.  

[...]

> This "one type" happens
>to be prefix out of custom. I did not invent this custom.

Unless you are using lisp, the custom is to use a fix that is
approprate to the problem domain.  The concatanation operator for
example, works well as an infix op.

$a = "This goes with" . "that.";

As it allows the eye to scan accross and see how things are being
joined (of cause in most cases the join op is more efficent).  That
being said it is possable for you to create your own prefix functions
so it would be an easy task for you to define all thouse operations
that you don't like as prefix functions.

>Hmmmmm...
>mod(x, y)
>x (mod) y
>x mod y
>x, y (mod)
>(x, y)mod
>[just kicking around the idea of descriptive infix and postfix.]

x y mod 

Postfix doesn't need brakets.

[...]

>Why would you have to check the compiler settings? It should be obvious by
>looking at the code (assuming you follow the bundling of ; and x/endx advice.)
>What do you recommend instead? Use different languages? You would then have to
>check to see what language is being used. No gain. I am open to
>suggestions.

When I code I run on Automatic most of the time, subconcusly adding
the correct end tags ect (expt when I'm in cperl mode then emacs is my
subconcus) in this system I would have to keep concusly checking which
verent I'm in.

[...]

>>> Your use of the word "inherentence" is quite odd in this context, most
>people would have used global verables or dynamic binding.  Perl
>offers lexicaly scoped varablies threw the "my" keyword. <<
>
>At times it would be easier to "isolate" the entire routine rather than list
>each variable under Local() or my(). You might forget a few.

In perl you can do this.

{

  package mysillypack

  sub main::subname {

  }

}

Which will isolate the sub off from all the globals (expt $_ @_ %_ and
_)

>>> In fact everything in perl leeks, indeed assignment stamets can even
>be RValuse wich allows us to do things like ($old = $set) =$new; <<
>
>You are not helping Perl's case here.

What I'm saying is the leeky approch is the correct one, you may not
like it but it is so usefull that it is neccery.



-- 
Please excuse my spelling as I suffer from agraphia. See
http://www.zeta.org.au/~dformosa/Spelling.html to find out more.
How to win arguments on usenet http://www.zeta.org.au/~dformosa/usenet.html



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

Date: 8 Jan 1999 05:36:55 GMT
From: dformosa@zeta.org.au (David Formosa (aka ? the Platypus))
Subject: Re: Perl Criticism
Message-Id: <slrn79b6bn.mcd.dformosa@godzilla.zeta.org.au>

In article <773fud$n5h$1@nnrp1.dejanews.com>, topmind@technologist.com wrote:
>Reply to Jerome O'Neil's 1/6 message:

[...]

>>> What particular operators would you have rewritten into functions? <<
>
>How about |, cmp, $_, @_, >>, &=
>to name a few. (@_ should be chucked altogether, but why couldn't it be a
>function anyhow? Why a fricken symbol?)

Why should I be forced to do all the extra typing?  @_ is a verable.
If you like you can think of it as a function that takes no
arguemtents.

[...]

>>> What part of the strict pragma does not satisfy your needs?  my() and local
>() are well documented. <<
>
>For one, there is no direct passing by value (or read-only) designated by the
>routine; second, there is no way to make the scope of an entire routine
>"isolated". (Why should I have to localize 20 variables when I could just
>localize an entire routine?)

If you are passing in 20 verables into a function then there is
something wrong with your design.

>>> I consider any language that does not return a value from an assignment
>broken.  If it's the rvalue, that's a Good Thing. <<
>
>What is your criteria for stating that? Because you are just plain
>used to it?

Because he (like me) has found it to be usefull.  Not just in while
tests (as you describe) but in if then stanemts, the map operator and
a number of other contexts.

[...]

>>>... belies the fact that you have no idea how subroutines operate in perl.
>How perl handles parameters is well defined and documented. <<
>
>Perl routines can put the result into unstated results and another routine can
>use that unstated result as
>a parameter or parameter-like mechanism. is this NOT true????????

This is true, however unstated results are commen in langages that
permit multiple vales to be returned from a function.


-- 
Please excuse my spelling as I suffer from agraphia. See
http://www.zeta.org.au/~dformosa/Spelling.html to find out more.
How to win arguments on usenet http://www.zeta.org.au/~dformosa/usenet.html



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

Date: Thu, 7 Jan 1999 23:32:31 -0600
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Perl Criticism
Message-Id: <f95477.bqk.ln@magna.metronet.com>

Jaime Metcher (metcher@spider.herston.uq.edu.au) wrote:

: This has often
: been discussed, as has the way in which perl has been inspired by
: natural language.


   For those that are interested in what Larry has to say about that:

      http://kiev.wall.org/~larry/natural.html


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Fri, 8 Jan 1999 06:08:14 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: Perl Criticism
Message-Id: <ebohlmanF5891r.3Kr@netcom.com>

Tom Christiansen <tchrist@mox.perl.com> wrote:
: In comp.lang.perl.misc, the oxymoronically named topmind@technologist.com
: mumbles:
: > UNIX systems have utilities that allow
: > extensive commands to be issued on the command line. Since there is only one
: > command line, UNIX programmers have a tradition of trying to fit as much on
: > one line as possible. 

[snip Tom's response]

: > This tends to make UNIX-derived languages, such as
: > Perl, a bit cryptic. 

: Could you please run through that line of reasoning again?  I'm not
: with you.  I assume that the antecedent of `this' must be `only one
: command line'.  Once you manage to explain what you are talking about,
: you can demonstrate the logic whereby you have arrived at the conclusion
: that a command line interface someone implies that the resulting tool
: must end up being `a bit cryptic'.

AFAICT, what "topmind" is really saying is that some of Perl's syntax 
appears to have been designed with one of the objectives being to 
minimize keyboarding.  I'd agree with that observation, and in fact found 
that some of those syntactic constructs took a bit of getting used to.  
However, I don't really think verbosity is necessarily a virtue in a 
programming language, and I agree with Larry W. that ease-of-learning is 
often overrated as a virtue in a tool that's intended to be used a great 
deal and that ease-of-learning and ease-of-use are *not* necessarily 
positively correlated.

The test of the intelligibility of Perl code is how intelligible it is to 
another Perl programmer with a similar level of proficiency, *not* how 
intelligible it is to someone who isn't a Perl programmer.  Replacing 
"Perl" with <name of any other programming language> does not change the 
truth value of that statement.  Come to think of it, the same criterion 
applies to natural languages as well as artificial ones; the only 
meaningful test of the intelligibility of what I'm writing now is how 
intelligible it is to someone who's proficient in English, not how 
"intelligible" it is to someone whose only language is Cantonese.




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

Date: Fri, 8 Jan 1999 06:28:50 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: Perl Criticism
Message-Id: <ebohlmanF58A03.4u4@netcom.com>

Craig Berry <cberry@cinenet.net> wrote:
: By my definition, which I believe matches the original posters', all
: scripting languages are programming languages.  We need a better term for
: the complementary subset than "nonscripting languages," but nothing both
: pithy and accurate springs to mind.

John Ousterhout came up with "system programming languages."

Of course "<type-of> programming language" represents a fuzzy category,
not a sharp one.  If I had to answer the question "what type of
programming language is Perl" I'd say it was a "string and list processing
language."  Now of course that does not imply that string and list
processing are the only things Perl can do, nor does it imply that string
and list processing can't be done in any Turing-complete programming
language.  But I'd assign Perl to the "string and list processing"
category and would *not* assign Fortran (any version) to that category,
despite that fact that there's a substantial body of computer science
literature from the 1960s dealing with using Fortran (even Fortran II) for
string and list processing.  The fact of the matter is that strings and
lists are "primitive" data types in Perl, and operators dealing with them
are "primitive"  operators.  In Fortran such data types and operators
don't exist as part of the language itself; they have to be composed *in
the language* from simpler types. 

As I read Ousterhout's distinction, a system programming language is one 
whose primitive data types and operators correspond closely to machine 
data types and operators.  You could think of the term as meaning "a 
language that makes bit-banging easy."  A scripting language is near the 
other end of this axis (which is only one of several orthogonal axes that 
can be placed through the space of programming languages) in that its 
fundamental data types and operations correspond to tasks to be 
accomplished rather than the detailed steps involved in the 
accomplishment of those tasks.

I should note that "scripting" seems to refer to at least two distinct
patterns of usage: 1) what I call "external scripting" in which the
language is used to orchestrate the operation of components which do not
belong to the same program; others would call it "gluing" and 2) what I
call "internal scripting" in which the language is used to orchestrate the
operation of internal components of a program; others would call it
"embedding."  In either case, though, the language can treat the
components as "black boxes" and the components are not necessarily written
in the same language that's doing the scripting.  Either can, of course,
be done in any Turing-complete programming language, but some make it
easier than others, and my definition of a "scripting language"  (at least
as it applies to Turing-complete languages) is a programming language
where one of the design goals was to make such forms of scripting easy. 



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

Date: Fri, 08 Jan 1999 00:58:11 -0500
From: comdog@computerdog.com (brian d foy)
Subject: Re: Position Available ASAP in Perl
Message-Id: <comdog-ya02408000R0801990058110001@news.panix.com>

In article <36954442.4ABB5B9F@maximgroup.com>, cmcnamar@maximgroup.com posted:

> or 2.6).  This position is available ASAP and is located in downtown
> Toronto at a major financial institution.  The position is a month long

you might check out the Toronto Perl Mongers for a more local audience.
   <URL:http://www.pm.org/groups.html>

-- 
brian d foy                    
CGI Meta FAQ <URL:http://www.smithrenaud.com/public/CGI_MetaFAQ.html>


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

Date: Thu, 07 Jan 1999 20:28:02 -0500
From: Eugene Sotirescu <eugene@snailgem.org>
Subject: Re: Problem with Perl script
Message-Id: <36955F22.7182B93F@snailgem.org>

Erik van Roode wrote:

> John wrote:
> >
> > I am (a newbie) getting an error message
> > 'premature ending of script' for the
> > following:
>
> [snip, my nntp server refuses to accept this message when I include
>  this cript. Annoying 'included too much' stuff *curse*]
>
> > print "Your first name is $firstname<BR>";
> > print "Your last name is $lastname<BR>";
> > print "Your e-mail is $email<BR>";
> >
> > Can anyone spot the problem?
>
> Add newlines to the print statements. eg
>    print "Your first name is $firstname<BR>\n";
>
> Your script does not add any newlines to the body, so the
> server thinks your script did not run successfully.
> One print "\n"; at end of script may be the only thing required,
> but adding a few newlines does not matter to the layout,
> and it makes the poor human that has to look at the html generated
> a lot happier.

Dude, what are you talking about?
How does adding \n s help a script that calls an undefined subroutine and
assigns values from a non-existent array? And how are \n s gonna make
anybody's eyes happy, since HTML ignores them anyway?




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

Date: Thu, 7 Jan 1999 23:54:38 -0600
From: "walter" <tavi367@ibm.net>
Subject: Retrieveing TZ Registry Info
Message-Id: <36959dfb.0@news1.ibm.net>

Don Brown was kind enough to point me in the right direction in finding
where NT stores Time Zone info.

(Can someone on a 95 machine tell if it is in the same place or not, and if
not where?)


> The value is in the registry at
> HKLM\System\CurrentControlSet\Control\TimeZoneInformation\Bias
> expressed in minutes offset (negative) from GMT.

> You can get the name of the timezone from
> HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DaylightName or
> ...\StandardName, store as REG_SZ data type.

This is great!

The key right after 'DaylightName' is 'DaylightStart'.
My system has this for a value...
   00 00 04 00 01 00 02 00 00 00 00 00 00 00 00 00

I assume that this tells the computer to 'turn on' Daylight Savings Time.

And if so, the key 'StandardStart' tells NT when to go back to 'normal'
time.

OK, nice. But I have no idea how to have Perl get this info for me.

Does anyone have a few lines of code that they have lying around that can
read and decipher registry entries?

All I want is to know what Time Zone the above key says my machine thinks it
is in.

And I guess I would like to know what the Start times for savings time and
standard are as well, at least as windows thinks it is.

This is one of the last pieces I need to complete my Time & Date library for
Windows and UNIX.

(Yes, I know, CPAN has lots of them already, but I am learning Perl and I
Need to do real work in order to learn and have it sink in.)

My gratitude for any help with this in advance.

Walter


--
====================================================================
The software required `Windows 95 or better', so I installed Mac OS.
 -- Remember: Win 95 = Mac 84 = GS 80 = Xerox 72




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

Date: Fri, 8 Jan 1999 06:46:17 GMT
From: Eric Bohlman <ebohlman@netcom.com>
Subject: Re: size 1M dbm file has only 1 record?
Message-Id: <ebohlmanF58At5.5vK@netcom.com>

2n3055@usa.net <2n3055@usa.net> wrote:
: 1st problem:
: I have a dbm file, originally, it has 3000 record,
: the size is 1M bytes, but after I delete 2000 record,
: delete $hash{'recordname'};
: the dbm file size still 1M, what's the problem?
: I can sure that that the 2000 record are deleted,
: there are nothing if I try to print "$hash{'recordname'}";

DBM files don't automatically shrink when records are deleted; all that 
happens is that the space that the records occupied is marked as 
available for new records; it's not returned to the filesystem.  If this 
is a problem (and it usually isn't), just copy the existing records to a 
new file, delete the old one and rename the new one.

: 2nd problem;
: while (($key,$val) = each %hash) {
: $i++;
: print "$key=$val\n";
: }
: the dbm file should have over 3000 record, but I can print up to 1044
: record, the variable $i shows upto 1044 only, how can I print all the
: data out of the dbm file?

Which DBM package are you using and on what platform?


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

Date: Fri, 08 Jan 1999 00:49:34 -0500
From: alecler@cam.org (Andre L.)
Subject: Re: Someone asked how to capitalise first letter of each word
Message-Id: <alecler-0801990049340001@dialup-709.hip.cam.org>

In article <773rpq$534$1@news.akl.netlink.net.nz>, "Andrew Mayo"
<andrew@geac.co.nz> wrote:

> I can't find the posting now, but as a newbie it struck me as an interesting
> problem (and raised some issues). The problem was to take something like
> 'hello there' and turn it into 'Hello There'.

Easy.

   $_ = 'heLLo THerE';
   s/(\w+)/\u\L$1/g;
   print;

[...]

> while (<>)
>  {
>    # this hash is only the first three letters worth, for clarity and also
> due to laziness on author's part
>  %ltrs=("A","A","a","A","B","B","b","B","C","C","c","C");
>  s/(\s+)(\w)|(^\w)/$1$ltrs{$2.$3}/g;
>  print $_;
>  }

Remember, Perl is for lazy programmers. 

   @ltrs{'a'..'z', 'A'..'Z'} = ('A'..'Z', 'a'..'z');
   # better than hardcoding all the letters, no?

   $_ = 'hello there';
   s/\b(\w)/$ltrs{$1}/g;
   print;

Well, the word egregious comes to mind... ;)
See lc(), uc() ucfirst(), \L, \U, \u.

[...]
> 
> Of course, we could march through the string using while (/..../) {....} and
> do stuff in the block, but this also doesn't seem too elegant. How do you
> interpolate a routine's value into the replacement string. It must be
> possible if you can substitute a variable?. (or do I need to use a tied
> variable, perhaps?).

To have the replacement part of an s/ evaluated, use the /e modifier. (See
perlop.)

   sub reverse_word {
      join '', reverse split //, shift;
   }

   $_ = 'just another perl hacker';
   s/(\w+)/reverse_word($1)/ge;
   print;

HTH,
Andre


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

Date: Fri, 08 Jan 1999 04:51:19 GMT
From: posting.account@lookout.com (William Herrera)
Subject: system() call and file creaton by the child process
Message-Id: <36958ba5.266197060@news.rmi.net>

Hi folks. Please help, I'm up against the wall understanding the
behavior of system() under perl 5.

I'm using perl 5 under Win32. I have two programs which I want to run
on some directory contents. The program (simplified) looks lile this:

####

my(@files, $tmp, $i, $call1, $call2);

@files = <*01*, *12*>;

$i = 1;

foreach (@files)
{

  print "Processing $_\n";
  $tmp = "temp" . $i . ".htm";
  $call1 = "myprog $_ \> $tmp";
  $call2 = "otherprog $tmp";
  print "$call1\n";
  print "$call2\n";
  system ($call1);
  system ($call2);
  ++$i;

}

This is supposed to call myprog which outputs the file called $tmp.
$tmp is then processed by otherprog.

The problem is that the file designated by $tmp is created, but is
only 0 bytes long when the otherprog gets it, or when it is looked at
later.

When the individual calls such as to "myprog  12-22cn.wgg > temp1.htm"
are typed at the command line, the output files are written properly
and are NOT 0 bytes long.

It would seem that the system() call does not close the child process
file handles when the child terminates? Why would this be?


---
The above from: address is spamblocked. Use wherrera (at) lynxview (dot) com for the reply address.


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

Date: Fri, 08 Jan 1999 00:12:45 -0500
From: Ed Finch <efinch@cais.com>
Subject: What is the best way to archive sar data?
Message-Id: <369593CD.82710270@cais.com>

Greetings!

I'm the author of SARGE, the System Activity Reporter Graphing
Engine. (You can find out more about SARGE at my website,
http://www.vais.net/~efinch) 

Briefly, SARGE archives sar data and generates .gif-format
graphs on-the-fly via the GD module. SARGE currently stores
the data in DBM files, but the space constraints are a problem.
Originally, SARGE primarily graphed "average" data, so the DBM
format was a good choice. I've added a lot more graphs though,
and the random-access of DBM files is no longer a primary 
concern. I'm looking for suggestions on how to archive the data 
with the minimal amount of disk space while preserving the ability 
to access the data quickly. Please bear in mind that the sar
data is likely to be processed many times during the day, so 
duplicate samples need to be avoided.

SARGE is and always will be free. Your input will make it a
better tool.


Best regards,
Ed
--
   Q: Why do PCs have a reset button on the front?
   A: Because they are expected to run Microsoft operating systems.


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

Date: Fri, 8 Jan 1999 01:21:05 -0500
From: rjk@linguist.dartmouth.edu (Ronald J Kimball)
Subject: Re: what's with all the job posts?
Message-Id: <1dlacre.177denf1apjq86N@bay1-324.quincy.ziplink.net>

Uri Guttman <uri@home.sysarch.com> wrote:

> >>>>> "JS" == John Stanley <stanley@skyking.OCE.ORST.EDU> writes:
> 
>   JS> In article <x7vhijllpl.fsf@home.sysarch.com>,
>   JS> Uri Guttman  <uri@home.sysarch.com> wrote:
> 
>   JS> Please don't use the acronym CFV in a subject unless you really are
>   JS> writing and posting a CFV. 
> 
> i didn't know that was a rule. i was just trying to get attention to the
> idea of a new subgroup.

Uri, Uri, Uri...


Please RTFM.


<http://www.dejanews.com/getdoc.xp?AN=428615004>
Subject: How to Create a New Usenet Newsgroup

<http://www.dejanews.com/getdoc.xp?AN=428615007>
Subject: How to Format and Submit a New Group Proposal 

-- 
 _ / '  _      /         - aka -          rjk@linguist.dartmouth.edu
( /)//)//)(//)/(     Ronald J Kimball      chipmunk@m-net.arbornet.org
    /                                  http://www.ziplink.net/~rjk/
        "It's funny 'cause it's true ... and vice versa."


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

Date: 12 Dec 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Special: Digest Administrivia (Last modified: 12 Dec 98)
Message-Id: <null>


Administrivia:

Well, after 6 months, here's the answer to the quiz: what do we do about
comp.lang.perl.moderated. Answer: nothing. 

]From: Russ Allbery <rra@stanford.edu>
]Date: 21 Sep 1998 19:53:43 -0700
]Subject: comp.lang.perl.moderated available via e-mail
]
]It is possible to subscribe to comp.lang.perl.moderated as a mailing list.
]To do so, send mail to majordomo@eyrie.org with "subscribe clpm" in the
]body.  Majordomo will then send you instructions on how to confirm your
]subscription.  This is provided as a general service for those people who
]cannot receive the newsgroup for whatever reason or who just prefer to
]receive messages via e-mail.

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.misc (and this Digest), send your
article to perl-users@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.

The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.

The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.

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 V8 Issue 4579
**************************************

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