[13584] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 994 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue Oct 5 18:10:40 1999

Date: Tue, 5 Oct 1999 15:10:26 -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: <939161426-v9-i994@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Tue, 5 Oct 1999     Volume: 9 Number: 994

Today's topics:
    Re: Parsing Tab Delimited File ()
    Re: Passing arguments to PERL script via URL <cpc999@lzwg02-na.comm.mot.com>
    Re: pattern match. & ? operator <cassell@mail.cor.epa.gov>
    Re: previous link <cassell@mail.cor.epa.gov>
    Re: print errors <cassell@mail.cor.epa.gov>
        Random Numbers <graeme@cutandpastescripts.com>
    Re: Random Numbers (Matthew Bafford)
    Re: Random Numbers (ItsMe9905)
    Re: Random Numbers <uri@sysarch.com>
    Re: Random Numbers (Larry Rosler)
        Rapid Repeated Ftp (Kristjan Varnik)
    Re: Regexp/Interpolation question (Tad McClellan)
        Seperating records in a text file: just getting every O (Pfash1)
    Re: Simple - yet won't work! (Matthew Bafford)
    Re: Simple - yet won't work! <cassell@mail.cor.epa.gov>
    Re: Simple newbie problem... <cpc999@lzwg02-na.comm.mot.com>
        To Abigail re: reading current threads <jb4mt@verbatims.com>
    Re: To Abigail re: reading current threads <uri@sysarch.com>
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

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

Date: Tue, 05 Oct 1999 21:42:55 GMT
From: bet@network.rahul.net ()
Subject: Re: Parsing Tab Delimited File
Message-Id: <slrn7vks6u.1h6.bet@betlap.oven.com>

1999-09-15-23:39:59 Tom Christiansen:
>[ examples of quoting issues in delimited file formats ... ]
>But I am told that certain non-Unix-thinking programs generate warped things
>
>    Bill, 'Peter''s Place, Mary and Ned', Fred
>
>which are rather un-split-friendly.

Well, I'll have to confess, I've been using such file formats with some
enthusiasm lately. It all started one time when I really urgently needed to
be parsing great wads of the stuff, and kinda got fond of Text::CSV_XS. As
it kinda settled into my mind that that format is [1] reasonably portable to
lots of apps on lots of platforms; [2] pretty quick to read and write with
Text::CSV_XS, and [3] completely robustly able to represent arbitrary data
(though not necessarily _both_ [1] _and_ [3] at the same time:-) I've started
using it more and more.

It has sort of settled into my bag of tricks, along with uri encoding, taking
MD5 hashes, and other routine transforms I take to get from here to there
without having to rethink the issues every time.

I'm mildly proud of one little utility program I've written, to merge CSV
files; it actually uses CSV for some command-line arguments, so it's possible
to construct truly awesomely cumbersome quoting nightmares. I append it.

-Bennett

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

=head1 NAME

    csv-merge --- merge two CSV files together, joining on key tuples

=head1 SYNTAX

    csv-merge file1:keys1 file2:keys2

=head1 DESCRIPTION

B<csv-merge} reads two CSV files, and prints the merge of the two on stdout.
Both must have the column names in the first record, be consistently formatted
CSV data (according to the standards of Text::CSV_XS with default parms) and
have the same number of rows in every column.

The keys specs are lists of keys, provided comma-separated (in fact, in CSV
format, so if a key name contains a comma it must be surrounded by
double-quotes, over and above any shell quoting required).

For every record, a merge key is generated by concatenating the URI encodings
of the fields whose names are specified, each surrounded by '[]'; this makes a
guaranteed unambiguous and unique merge key.

The output file will contain all the distinct records found in either file
(where distinct is defined by the merge keys created above); it will contain
all the fields found in either input file (with empties as needed); and where
fields collide the value from the second file will override.

=cut

use Text::CSV_XS;
use IO::File;
use URI::Escape;
use File::Basename;

$0 = basename $0;
my($syntax) = "syntax: $0 file1:keys1 file2:keys2\n";
die $syntax unless @ARGV == 2;
die $syntax unless shift =~ /(.*):(.*)/;
my($file1, $keys1) = ($1, $2);
die $syntax unless shift =~ /(.*):(.*)/;
my($file2, $keys2) = ($1, $2);

my $csv = Text::CSV_XS->new || die "$0: Text::CSV_XS::new: $!\n";
die $syntax unless $csv->parse($keys1);
my(@keys1) = $csv->fields;
die $syntax unless $csv->parse($keys2);
my(@keys2) = $csv->fields;

my $fp = IO::File->new("<$file1") or die "$0: $file1: $!\n";
defined($_ = $fp->getline) or die "$0: can't read headers from $file1\n";
$csv->parse($_) or die "$file1:1: can't parse headers\n";
my(@keys) = $csv->fields;
my(%keys); @keys{@keys} = @keys;
for (@keys1) {
	die "$0: key $_ doesn't exist in $file1\n" unless exists $keys{$_};
}

my(%db);
my(@db);
while (defined($_ = $fp->getline)) {
	my($pfx) = $file1.':'.$fp->input_line_number;
	$csv->parse($_) or die "$pfx: parse failure\n";
	my(@r) = $csv->fields;
	die "$pfx: wrong # of columns\n" if @r != @keys;
	my(%r);
	@r{@keys} = @r;
	my($mergekey) = join('',map{'['.uri_escape($_).']'}@r{@keys1});
	die "$pfx: dup mergekey $mergekey\n" if exists $db{$mergekey};
	push @db, $mergekey;
	$db{$mergekey} = \%r;
}

$fp = IO::File->new("<$file2") || die "$0: $file2: $!\n";
defined($_ = $fp->getline) or die "$0: can't read headers from $file2\n";
$csv->parse($_) or die "$file2:1: can't parse headers\n";
my(@morekeys) = $csv->fields;
my(%morekeys); @morekeys{@morekeys} = @morekeys;
for (@keys2) {
	die "$0: key $_ doesn't exist in $file2\n" unless exists $morekeys{$_};
}
for (@morekeys) {
	push @keys, $_ unless exists($keys{$_});
}

line: while (defined($_ = $fp->getline)) {
	my($pfx) = $file2.':'.$fp->input_line_number;
	$csv->parse($_) or die "$pfx: parse failure\n";
	my(@r) = $csv->fields;
	die "$pfx: wrong # of columns\n" if @r != @morekeys;
	my(%r);
	@r{@morekeys} = @r;
	my($mergekey) = join('',map{'['.uri_escape($_).']'}@r{@keys2});
	if (! exists $db{$mergekey}) {
		$db{$mergekey} = \%r;
		push @db, $mergekey;
		next line;
	}
	for (@morekeys) {
		$db{$mergekey}{$_} = $r{$_} if defined($r{$_}) and length($r{$_});
	}
}

$csv->combine(@keys) or die "$0: csv->combine didn't\n";
print $csv->string, "\n";

for (@db) {
	$csv->combine(@{$db{$_}}{@keys}) or die "$0: csv->combine didn't\n";
	print $csv->string, "\n";
}


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

Date: 5 Oct 1999 14:24:43 GMT
From: "Ralph Grothe" <cpc999@lzwg02-na.comm.mot.com>
Subject: Re: Passing arguments to PERL script via URL
Message-Id: <01bf0f3c$c45c4920$480e7891@be14p072>

I guess this is concerning a CGI script.
You can retrieve the URI from the CGI environment by
$uri = $ENV{'REQUEST_URI'};

To obtain the params passed by the GET method you either parse
them through your own URL-decoder, or preferably use CGI.pm 
(which also works with the POST method) like
use CGI;
$cgi = CGI->new();
@allparams = $cgi->param();
$name = $cgi->param('name');
$id = $cgi->param('id');

CGI.pm also offers a redirect method
print
$cgi->redirect('http://some.other.server/with/interesting/content.html');

consult the POD
perldoc CGI

Regards
Ralph

Charles Cuccaro <bacjc@worldnet.att.net> wrote
<01bf0db2$f49af900$13644e0c@bacjc>...
> Hello, I'm trying to pass arguments into a PERL script via a URL.
> 
> First off, is it even possible for a PERL script to receive arguments
from
> a URL?
> example: http://www.thedomainname.com/test.cgi?name="Bob"&id="1234"
> 
> If it is, then what is the syntax for the URL and how do I get the values
> in the PERL script?
> 
> What I would like to do is to be able to redirect user to various pages
> based on the id passed into the script.
> 
> Thank you in advance.
> cj
> 
> 


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

Date: Tue, 05 Oct 1999 14:44:38 -0700
From: David Cassell <cassell@mail.cor.epa.gov>
Subject: Re: pattern match. & ? operator
Message-Id: <37FA7146.ECC36D2C@mail.cor.epa.gov>

M.J.T. Guy wrote:
> 
> David Cassell  <cassell@mail.cor.epa.gov> wrote:
> >
> >if ( $string =~ /(\w+) (\(\w+\))?/ ) {
> >    print "one: $1\n";
> >    print "two: $2\n";
> >}
> 
> That's not -w clean (but nor was the priginal attempt, of course).
> So I'd suggest an extra set of perens:
> 
>  if ( $string =~ /(\w+) ((?:\(\w+\))?)/ ) {

Good point.  Thanks.

David
-- 
David Cassell, OAO                     cassell@mail.cor.epa.gov
Senior computing specialist
mathematical statistician


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

Date: Tue, 05 Oct 1999 14:35:37 -0700
From: David Cassell <cassell@mail.cor.epa.gov>
Subject: Re: previous link
Message-Id: <37FA6F29.209E6202@mail.cor.epa.gov>

ICEMOUNTAIN@prodigy.net wrote:

You've gotten a couple replies already.  But there is one
thing I accidentally scanned, with which I want to help you.

[snip]

> open(TEXT,"gallerydata.txt");

Of course, in your real code you have error-checking.  Right?

> @info = <TEXT>;
> close(TEXT);

It doesn't hurt to check errors on close() either, particularly
on systems which might fill up /tmp or other bad things.

[snip]

>href=http://www.3gc.net/cgi-bin/scripts/backup/gallerytest.cgi
 ?action=desc&model=$model&year=$year&numb=$numb>19$year [SNIP] 
                                                 ^^^^^^^
Here it is.  Please, please, please don't do this.  As soon as
you get next year's Camaro in your database, this will do A Bad
Thing(tm).  The current year is 1900 + $year as is explained
in the docs for localtime().
[more snips]

David
-- 
David Cassell, OAO                     cassell@mail.cor.epa.gov
Senior computing specialist
mathematical statistician


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

Date: Tue, 05 Oct 1999 15:05:26 -0700
From: David Cassell <cassell@mail.cor.epa.gov>
Subject: Re: print errors
Message-Id: <37FA7626.AAACD0C8@mail.cor.epa.gov>

otto_parts@my-deja.com wrote:
> 
> In our batch cycle we have developed a standard set of utilities to
> process the input data and load our databases.  We have a standard
> output function that uses
> the print statement to write to an open filehandle.  Our standard open
> routine and the output routine verify the success of the open and print
> statements. We are experiencing intermittent problems where output
> files
> are created with 0 records even though the log and input files indicate
> that the appropriate output had been created.
> 
> The system logs (UNIX) show no problems on the process and file servers
> at the time of the errors
> and rerunning the processes works correctly.  Has anyone experienced
> the situation where the print statement does not actually write to the
> file? Should we be checking something else to determine if the output
> files are created correctly?

I haven't seen a situation where print() doesn't write to the
file without there being an error on open() or on close().

But I have seen cases where locking was needed to prevent
one process from over-writing the work of another.  Could that
be your problem?

If not, could it be that your error-checking doesn't do
enough for you?  You are printing out $! , right?

David
-- 
David Cassell, OAO                     cassell@mail.cor.epa.gov
Senior computing specialist
mathematical statistician


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

Date: Tue, 5 Oct 1999 20:03:35 +0100
From: "Graeme Sandwell" <graeme@cutandpastescripts.com>
Subject: Random Numbers
Message-Id: <4_rK3.1775$pN.18364@stones>

Hi,

Can you tell me how to generate 9 random numbers and assign them to a value
called $ran.

Thanks for your help,

Graeme





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

Date: Tue, 05 Oct 1999 19:38:15 GMT
From: *@dragons.duesouth.net (Matthew Bafford)
Subject: Re: Random Numbers
Message-Id: <slrn7vkk40.qo.*@dragons.duesouth.net>

Tue, 5 Oct 1999 20:03:35 +0100, a great smashing of the head occured
against Graeme Sandwell" <graeme@cutandpastescripts.com>'s keyboard,
causing comp.lang.perl.misc to receive this: 
: Can you tell me how to generate 9 random numbers and assign them to a value
: called $ran.

#!/usr/bin/perl -w
for ( 42..sqrt((42+9)**2)-1-42**0 ) {
    $ran = rand;
}

print "$ran\n";

__END__
 
: Thanks for your help,

HTH!

: Graeme

--Matthew


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

Date: 05 Oct 1999 21:02:01 GMT
From: itsme9905@aol.comnojunk (ItsMe9905)
Subject: Re: Random Numbers
Message-Id: <19991005170201.12873.00001172@ng-fm1.aol.com>

@ran=();
for ($i=0; $i<9; $i++) {
  $ran[$i] = int(rand()*100);
}

The above will generate random numbers from 0 to 99 and puts those in an array.

HTH



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

Date: 05 Oct 1999 17:11:02 -0400
From: Uri Guttman <uri@sysarch.com>
Subject: Re: Random Numbers
Message-Id: <x7ogedsec9.fsf@home.sysarch.com>

>>>>> "I" == ItsMe9905  <itsme9905@aol.comnojunk> writes:

  I> @ran=();
  I> for ($i=0; $i<9; $i++) {
  I>   $ran[$i] = int(rand()*100);
  I> }

c style for loops are not cool in perl. rarely needed in fact. and i
don't mean foreach loops which are a different animal.

@r = map rand $_, (100) x 10 ;

uri

-- 
Uri Guttman  -----------------  SYStems ARCHitecture and Software Engineering
uri@sysarch.com  ---------------------------  Perl, Internet, UNIX Consulting
Have Perl, Will Travel  -----------------------------  http://www.sysarch.com
The Best Search Engine on the Net -------------  http://www.northernlight.com


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

Date: Tue, 5 Oct 1999 14:34:55 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Random Numbers
Message-Id: <MPG.12640edda2837a1c98a03c@nntp.hpl.hp.com>

In article <19991005170201.12873.00001172@ng-fm1.aol.com> on 05 Oct 1999 
21:02:01 GMT, ItsMe9905 <itsme9905@aol.comnojunk> says...
> @ran=();
> for ($i=0; $i<9; $i++) {
>   $ran[$i] = int(rand()*100);
> }
> 
> The above will generate random numbers from 0 to 99 and puts those in an array.

Good C code.  In Perl, one might write it this way:

    my @ran = map int(rand 100), 1 .. 9;

-- 
(Just Another Larry) Rosler
Hewlett-Packard Laboratories
http://www.hpl.hp.com/personal/Larry_Rosler/
lr@hpl.hp.com


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

Date: Tue, 05 Oct 1999 21:30:42 GMT
From: kav200@omicron.acf.nyu.edu (Kristjan Varnik)
Subject: Rapid Repeated Ftp
Message-Id: <66uK3.30$Gm4.3173@typhoon.nyu.edu>

Hi,

I need to repeatly pull a file of a sever as quickly as possible,
and then copy the picture to a sub-directory depending on its file size. I
am not sure what the best way to do this is.

I was thinking setting about the server cron ftp the file
every half second or less, but then I have the problem of
figuring out when I have a new image so I can parse it. Chaning
the crontab is the only way I can change the server.

I thought about using java because it has multithreaded support,
so I could ftp with one thread and parse with another, ensuring
that I got consistent performance.

I wrote a perl script:

#!/usr/bin/perl
use Net::FTP;
$count=0;
$ftp = Net::FTP->new("192.168.1.100");
$ftp->login("root","pass");
$ftp->binary;
while (1 < 2){
   $ftp->get("fullsize.jpg");
   sort;
};

sort is a sub function that does the parsing. Is this
an effiecient way to FTP? And will I introduce alot of overhead
if I start using tons of subfunctions?

And in my sort routine is:
(undef,undef,undef,undef,undef,undef,undef,$basesize)= stat "filename";
the best way tp get the size of a file?

Lastly, I am a bit new to perl.. are their any flags
I can use to make my perl programs run faster.


cheers,
kris


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

Date: Tue, 5 Oct 1999 11:39:14 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Regexp/Interpolation question
Message-Id: <236dt7.uhe.ln@magna.metronet.com>

A Zielke (azielke@hotmail.com) wrote:

: 	I've go a variable containing stuff like brackets, *s, ?s, etc.
: (i.e. something like $Expr = '(5+7)*[(9-2)*5-12]'; )
: I would now like to do a "substring-compare":

: my $Expr = '(5+7)*[(9-2)*5-12]';
: my $HugeExpr = 'something stupid (5+7)*[(9-2)*5-12] bla bla';


   That is not a "substring-compare".

   That is a pattern match.


: if ( $HugeExpr =~ /'$Expr'/ ) {
                     ^     ^
                     ^     ^

   You do not have single quotes anywhere in $HugeExpr, so this
   pattern match must *always* fail...


:     print "o.k.\n";
: } else {
:     print "no luck\n";
: }


if ( index($HugeExpr, $Expr) >= 0 ) {
    print "o.k.\n";
} else {
    print "no luck\n";
}


   index() is the Right Tool For The Job if the job is
   to do a "substring-compare".

   :-)


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


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

Date: 05 Oct 1999 21:34:36 GMT
From: pfash1@aol.com (Pfash1)
Subject: Seperating records in a text file: just getting every OTHER one.
Message-Id: <19991005173436.21744.00001238@ng-ch1.aol.com>

Thanks to whomever is able to solve this (I poured over the FAQs and didn't
find an answer.):
I am trying to have my script open a text file with multiple records, each
seperated by "+++++++++++++++++++++++". I would like to treat each of these
records seperately (ie; isolate words in each record). So I thought that this
would work:
#!perl-w
open (FH, 'Buncha emails');
while (<FH>)
	 {
		$/ = "+++++++++++++++++++++++";
		$_ = <FH>;          
		s/\n[ \t]+/ /g;
		push(@eachrecord, $_);
	 }
This actually just pushes everyOTHER record into the @eachrecord array. Why oh
why? How can I get each record into the array?
If you can shoot your reply to my pfash@umich.edu account I would greatly
appreciate it.
Thanks,
Paul


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

Date: Tue, 05 Oct 1999 19:15:38 GMT
From: *@dragons.duesouth.net (Matthew Bafford)
Subject: Re: Simple - yet won't work!
Message-Id: <slrn7vkis9.qo.*@dragons.duesouth.net>

nihad@yahoo.com:
: Why is unlocking the file dangerous?

You posted jeapordy style.  Don't do that.  Your responses belong down . 
                                                                       |
:                                                                      | 
: Randal L. Schwartz wrote:                                           \|/
: > >>>>> "Anon" ==   <nihad@yahoo.com> writes:                        |
: >                                        ----------------------------+
: > Anon>     flock(INF, 8);               |               
: >                                        |
: > That line is pointless where it is, and|dangerous if moved.
: > Delete it.  And distrust any place that|you got it from.
: >                                        |
                                          \./ here.

A little trimming never hurts, either.

The problem with unlocking the file after the close is the unlock has
already been done.  The operating system does that.

The problem with unlocking the file before the close is buffering.  If
you write to the file, unlock it, and then close, something like this
could happen:

1) p1: open file
2) p1: lock file
3) p1: write file, but since output is buffered, only part of the data is
       actually written [0]
4) p1: unlock file
5) p2: open file
6) p2: lock file
7) p2: write some data to file
8) p1: close file, flushing the rest of the data
9) p2: close file, flushing the rest of the data

Since your operating system is kind enough to flush and then unlock the
file upon close, don't do it yourself.

: > -- 
: > Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
: > [snip]

Please do not keep signatures in your followups.  Thanks!

--Matthew
-- 
[0]  Actually, newer Perls do the flush for you on unlock, but it's
     difficult to be 100% certain your program will always run on a newer
     Perl.


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

Date: Tue, 05 Oct 1999 14:44:06 -0700
From: David Cassell <cassell@mail.cor.epa.gov>
Subject: Re: Simple - yet won't work!
Message-Id: <37FA7126.DBFAB5E8@mail.cor.epa.gov>

Randal L. Schwartz wrote:
> 
> >>>>> "Anon" ==   <nihad@yahoo.com> writes:
> 
> Anon>     flock(INF, 8);
> 
> That line is pointless where it is, and dangerous if moved.
> Delete it.  And distrust any place that you got it from.

Not only that, tell *us* wher you got it, so we can warn
others about what a luser source you found!

I wonder if Jeff Pinyan would be interested in having part of
his UNCRAP site devoted to a list of places with dangerous
scripts which should be avoided....

David
-- 
David Cassell, OAO                     cassell@mail.cor.epa.gov
Senior computing specialist
mathematical statistician


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

Date: 5 Oct 1999 13:42:32 GMT
From: "Ralph Grothe" <cpc999@lzwg02-na.comm.mot.com>
Subject: Re: Simple newbie problem...
Message-Id: <01bf0f36$e5239bf0$480e7891@be14p072>

Being myself a newbie my suggestion wouldn't necessarily be the
most elegant solution or Perlish at all (and there are hundred other ways).
Here is how I would do it:

#!/path/to/perl -w

use strict;	# not necessary but advisable
use File::Copy;

opendir(DIR,'/the/dir/where/all/my/files/reside');
my @files = readdir(DIR);
closedir(DIR);
foreach my $file (@files) {
	next if ($file =~ /^[\.]{1,2}$/); # skip dot refs
	if ($file =~ /\.html$/ && -w $file) {
		open(OLDFILE,"<$file");
		open(NEWFILE,">$file~");
		while (<OLDFILE>) {
			$_ =~ s/oldstring/newstring/g;
			print NEWFILE $_;
		}
		close(OLDFILE);
		close(NEWFILE);
		move("$file~",$file);
	}
	
}

Regards
Ralph

jon@osfn.org wrote
 <2DbJ3.4071$L4.227540@typ12.nn.bcandid.com>...
> Hi,
> 
> I need to replace one string with an other in multiple .html documents
> I've gotten this far
> 
> 	#!/usr/bin/perl
> 
> 	@files = `ls`;
> 
> 	foreach $file (@files) {
> 	  if ($file =~ /.html/ {
> 
> how do I now edit these files (I want the changed file to have the
> original name??
> 
> 	    open CURRENT, $files;
>             while (<CURRENT>) {
>               s/x/y/I;		#??????????????
> 
> This is where I'm just puzzled....
> 
> TIA,
> Jon
> 
> -- 
> Email jon@osfn.org			Web
>        jdp@efn.org			http://users.ids.net/~tuan/
> 


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

Date: Tue, 05 Oct 1999 21:07:27 GMT
From: "George Jempty" <jb4mt@verbatims.com>
Subject: To Abigail re: reading current threads
Message-Id: <jMtK3.782$ry3.7825@news.rdc1.ne.home.com>

Great suggestion -- now I know what a COMPLETE witch you are.

George Jempty

PS: I'm NOT going away, although it's obvious that you would like all the
beginners to do so, since you yourself obviously were never a beginner.  And
by the way -- I admit, this is SPAM -- if you don't like spam don't reply
since that would just be spam too, you arrogant pretentious hypocrite.




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

Date: 05 Oct 1999 17:23:23 -0400
From: Uri Guttman <uri@sysarch.com>
Subject: Re: To Abigail re: reading current threads
Message-Id: <x7k8p1sdro.fsf@home.sysarch.com>

>>>>> "GJ" == George Jempty <jb4mt@verbatims.com> writes:

  GJ> Great suggestion -- now I know what a COMPLETE witch you are.
  GJ> George Jempty

oh, i hear her cringing in the corner of the room.

  GJ> PS: I'm NOT going away, although it's obvious that you would like
  GJ> all the beginners to do so, since you yourself obviously were
  GJ> never a beginner.  And by the way -- I admit, this is SPAM -- if
  GJ> you don't like spam don't reply since that would just be spam too,
  GJ> you arrogant pretentious hypocrite.

that is not spam. but you wouldn't know spam if you opened a can of it.

and FYI it is not beginners who are dispised, but clueless ones who
won't do any homework first before posting here. usenet is not your
mother.

uri

-- 
Uri Guttman  -----------------  SYStems ARCHitecture and Software Engineering
uri@sysarch.com  ---------------------------  Perl, Internet, UNIX Consulting
Have Perl, Will Travel  -----------------------------  http://www.sysarch.com
The Best Search Engine on the Net -------------  http://www.northernlight.com


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

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


Administrivia:

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

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

| NOTE: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.

For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V9 Issue 994
*************************************


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