[25531] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 7775 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sun Feb 13 09:05:53 2005

Date: Sun, 13 Feb 2005 06:05:19 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Sun, 13 Feb 2005     Volume: 10 Number: 7775

Today's topics:
        Feeding false an App <hackeras@gmail.com>
    Re: Feeding false an App <nospam@bigpond.com>
        Flase feedign an App <hackeras@gmail.com>
        how to check the status of a process, by ID googlegroups.zaphod@truckload2000.com
    Re: how to check the status of a process, by ID <matternc@comcast.net>
    Re: How to close a listening socket asynchronously <No_4@dsl.pipex.com>
    Re: How to close a listening socket asynchronously <prilmeie@informatik.tu-muenchen.de>
    Re: naming a variable with the datum from another varia (Anno Siegel)
    Re: naming a variable with the datum from another varia <matternc@comcast.net>
        Object reference vanishes from $_[0] <kanenas@comcast.net>
    Re: perl extension promblem Can't find 'boot_<blah>' sy <nyejeff@yahoo.com>
    Re: perl extension promblem Can't find 'boot_<blah>' sy <kalinaubears@iinet.net.au>
    Re: perl extension promblem Can't find 'boot_<blah>' sy <nyejeff@yahoo.com>
        Process word occurances in Bible? <dave_frank@hotmail.com>
    Re: TCP connection close after starting a command sessi bahat@topio.com
        Who can help me write a perl script to extract the pict <mygloryregained@hotm@il.com>
    Re: Who can help me write a perl script to extract the  <nospam@bigpond.com>
    Re: Who can help me write a perl script to extract the  <mygloryregained@hotm@il.com>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Sun, 13 Feb 2005 10:25:54 +0000 (UTC)
From: Richard Anderson <hackeras@gmail.com>
Subject: Feeding false an App
Message-Id: <Xns95FC7EBB25EC1hackerasgmailcom@194.177.210.210>

Well a friend of mine maked his own online chess server and he in order to 
paly chess with him i have o install a software that he developed. What he 
does from the program is running online machine query checks through his 
hand-made chess client i use to connect to his online chess server. He 
specifically searches fro cpu id. What i want to do is to make a perl prog 
that weill listen fro cpu id requests and then feed the querint app with 
false cpu id! He asked me if i have a way to overcome that and i said i 
could! actually we made a bet! I think of that because i cant change the 
cpu id like i do with mac address if i like because new mac address id can 
be applied to an ethernet card but new cpu id cannot be applied/overwriiten 
to the old one! at least, i think it cant! so i made the above thouh to 
just feed it wrong! is this possible through a perl app?!?!


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

Date: Sun, 13 Feb 2005 21:41:12 +1000
From: Gregory Toomey <nospam@bigpond.com>
Subject: Re: Feeding false an App
Message-Id: <378smrF58lihaU1@individual.net>

Richard Anderson wrote:

> Well a friend of mine maked his own online chess server and he in order to
> paly chess with him i have o install a software that he developed. What he
> does from the program is running online machine query checks through his
> hand-made chess client i use to connect to his online chess server. He
> specifically searches fro cpu id. What i want to do is to make a perl prog
> that weill listen fro cpu id requests and then feed the querint app with
> false cpu id! He asked me if i have a way to overcome that and i said i
> could! actually we made a bet! I think of that because i cant change the
> cpu id like i do with mac address if i like because new mac address id can
> be applied to an ethernet card but new cpu id cannot be
> applied/overwriiten to the old one! at least, i think it cant! so i made
> the above thouh to just feed it wrong! is this possible through a perl
> app?!?!

This has NOTHING to do with Perl.

CPU identification is a very low level operation, generally done in
assembler or possibly C. Pentium chips have a CPUID instruction.

In assembler:
mov eax, 0      ;Move 0 into the eax register
CPUID           ;Call the cpuid instruction
mov DWORD PTR [CPUMsg[0]], ebx
mov DWORD PTR [CPUMsg[4]], edx
mov DWORD PTR [CPUMsg[8]], ecx
invoke MessageBox,NULL,addr CPUMsg,addr szDLLName,MB_OK

If he writes a server API that asks for a CPUID on your client, then just
ask him what the protocol API is. We cant do anything for you.

gtoomey


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

Date: Sun, 13 Feb 2005 10:36:38 +0000 (UTC)
From: Richard Anderson <hackeras@gmail.com>
Subject: Flase feedign an App
Message-Id: <Xns95FC808C9B26Fhackerasgmailcom@194.177.210.210>

Well a friend of mine maked his own online chess server and he in order to 
paly chess with him i have o install a software that he developed. What he 
does from the program is running online machine query checks through his 
hand-made chess client i use to connect to his online chess server. He 
specifically searches fro cpu id. What i want to do is to make a perl prog 
that weill listen fro cpu id requests and then feed the querint app with 
false cpu id! He asked me if i have a way to overcome that and i said i 
could! actually we made a bet! I think of that because i cant change the 
cpu id like i do with mac address if i like because new mac address id can 
be applied to an ethernet card but new cpu id cannot be applied/overwriiten 
to the old one! at least, i think it cant! so i made the above thouh to 
just feed it wrong! is this possible through a perl app?!?!


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

Date: 12 Feb 2005 22:04:04 -0800
From: googlegroups.zaphod@truckload2000.com
Subject: how to check the status of a process, by ID
Message-Id: <1108274644.209936.287930@z14g2000cwz.googlegroups.com>

How would you check the status of a process if you have it's id?

for instance; my web host's eMail server uses a lock file "inbox.lock"
which containes the process id of the process that created the
lockfile, to lock access to the inbox file.
If I want to write a script that processes the eMails in the inbox
file.

I check for the existance of the lock file.

If the lock file does not exist, create it and insert my process id.

if the lock file does exist, read the process id out of the lock file
and check to see if the lock is stale (the creating process died
without deleting the file)

How do I chack to see if the process is still running?

Zaphod



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

Date: Sun, 13 Feb 2005 08:13:58 -0500
From: Chris Mattern <matternc@comcast.net>
Subject: Re: how to check the status of a process, by ID
Message-Id: <odOdnUVlYPMKz5LfRVn-pw@comcast.com>

googlegroups.zaphod@truckload2000.com wrote:

> How would you check the status of a process if you have it's id?
> 
> for instance; my web host's eMail server uses a lock file "inbox.lock"
> which containes the process id of the process that created the
> lockfile, to lock access to the inbox file.
> If I want to write a script that processes the eMails in the inbox
> file.
> 
> I check for the existance of the lock file.
> 
> If the lock file does not exist, create it and insert my process id.

Ack.  Race condition!
> 
> if the lock file does exist, read the process id out of the lock file
> and check to see if the lock is stale (the creating process died
> without deleting the file)
> 
> How do I chack to see if the process is still running?

Does your email system *really* force you to do this?  Doesn't it
use flock?  (Which not only can eliminate the race condition,
it takes care of your "is this process running?" problem, too)

> 
> Zaphod

-- 
             Christopher Mattern

"Which one you figure tracked us?"
"The ugly one, sir."
"...Could you be more specific?"


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

Date: Sun, 13 Feb 2005 00:15:13 +0000
From: Big and Blue <No_4@dsl.pipex.com>
Subject: Re: How to close a listening socket asynchronously
Message-Id: <6smdnfDlqs6MAZPfRVnyjQ@pipex.net>

Franz Prilmeier wrote:

>>> I want to be able to close a socket while it is listening (waiting for
>>> incoming connection via the accept call). In a different thread.
>>

    A suggestion (there are other ways as well...)

    Get the other thread to open a call on the socket and send a "shutdown" 
command.   For security (to stop anyone connecting to the socket and 
shuting it down) create a random string in the program, get this thread to 
send it and the listener can check it.

-- 
              Just because I've written it doesn't mean that
                   either you or I have to believe it.


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

Date: Sun, 13 Feb 2005 11:27:11 +0100
From: Franz Prilmeier <prilmeie@informatik.tu-muenchen.de>
Subject: Re: How to close a listening socket asynchronously
Message-Id: <Pine.GSO.4.60.0502131119350.23964@sunhalle89>

On Sun, 13 Feb 2005, Big and Blue wrote:

> Franz Prilmeier wrote:
>
>>>> I want to be able to close a socket while it is listening (waiting for
>>>> incoming connection via the accept call). In a different thread.
>>> 
>
>   A suggestion (there are other ways as well...)
>
>   Get the other thread to open a call on the socket and send a "shutdown" 
> command.   For security (to stop anyone connecting to the socket and shuting 
> it down) create a random string in the program, get this thread to send it 
> and the listener can check it.

That would be a possible solution, and also one I thought of. Security is 
no issue here, because the server is intended to be run for test purposes 
only, not in a production environment (Or even on the internet). My 
problem with this solution is, that it smells bad to me. It's a hack, and 
I want to avoid hacks in my programs whenever possible.

I would like to try one of the other ways, preferable the one I showed in 
the Java example. Is there are Perl equivalent?

Franz
-- 
Kind regards, Franz Prilmeier
WWW: http://home.in.tum.de/~prilmeie/ E-Mail: prilmeie@acm.org
GPG Public Key available at:
http://home.in.tum.de/~prilmeie/gpg/prilmeie@acm.org.asc


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

Date: 13 Feb 2005 12:05:48 GMT
From: anno4000@lublin.zrz.tu-berlin.de (Anno Siegel)
Subject: Re: naming a variable with the datum from another variable
Message-Id: <cunfqs$rji$1@mamenchi.zrz.TU-Berlin.DE>

Chris Mattern  <matternc@comcast.net> wrote in comp.lang.perl.misc:
> Duncan Harris wrote:
> 
> > I need to create a separate associative array for each column of data

> You need to be using an array of hashes.
> 
> foreach my $i (@x) {
>   foreach my $j (sort(keys %$i)) {
                   ^^^^
>     do_something($i{$j});
>   }
> }

Why the "sort"?

Anno


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

Date: Sun, 13 Feb 2005 08:06:55 -0500
From: Chris Mattern <matternc@comcast.net>
Subject: Re: naming a variable with the datum from another variable
Message-Id: <DsqdnY9coIZyzZLfRVn-rw@comcast.com>

Anno Siegel wrote:

> Chris Mattern  <matternc@comcast.net> wrote in comp.lang.perl.misc:
>> Duncan Harris wrote:
>> 
>> > I need to create a separate associative array for each column of data
> 
>> You need to be using an array of hashes.
>> 
>> foreach my $i (@x) {
>>   foreach my $j (sort(keys %$i)) {
>                    ^^^^
>>     do_something($i{$j});
>>   }
>> }
> 
> Why the "sort"?
> 
> Anno

Why not?  Sometimes it's nice to get the hash keys in 
a predictable order.

-- 
             Christopher Mattern

"Which one you figure tracked us?"
"The ugly one, sir."
"...Could you be more specific?"


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

Date: 12 Feb 2005 15:49:42 -0800
From: "Kanenas" <kanenas@comcast.net>
Subject: Object reference vanishes from $_[0]
Message-Id: <1108252182.783343.30650@g14g2000cwa.googlegroups.com>

So I'm playing around with overloading the code dereference operator
(referred to as '&{}' in the overload package documentation) so that I
can make any object callable when I run into a problem with goto &NAME.
 To get '&$obj' to call a method of $obj, I have '&{}' wrap the method
in an anonymous sub which prepends a reference to the object to @_ (see
code below).  Thus I can use the goto &NAME form of goto in the
anonymous sub and it's as if '$obj->(@args)' was actually a call to the
method.  That works just fine for my purposes (it will only call the
method of the base class, not an overriden method in any derived class,
but I have other ways of addressing that), but if the method also uses
goto &$code where $code is a code ref , the object reference vanishes
from @_ UNLESS I alter @_ via push, pop, shift, unshift or slice
(assigning to an element of @_ doesn't work and is bad because elements
of @_ are aliased to the actual arguments of the '$obj->(...)' call).
I get this behavior under Perl 5.8.5 on OpenBSD 3.6 and ActivePerl
5.8.4 on Win98.  What is happening?

It doesn't matter at all for the example below, as the goto in 'bar' is
completely superfluous, but sometimes I'd like to be able to goto
methods stored within the object.  I could, for those specific
instances, have the anonymous sub returned by '&{}' goto the method
stored within the object, but (as noted above) I'm working on a more
general solution to make objects callable.  The gotos are needed in
case the method uses caller(), which should refer to whatever called
&$obj, not any wrappers.

Here's some code that illustrates the issue (but not so much why you'd
want to do what I want to do).
<code>
#! /usr/bin/perl

package Foo;
use overload '""' => sub {$_[0]},
  '&{}' => sub {
    my $self = shift;
    return sub {unshift @_, $self; goto &bar}
  };

sub new {  return bless {}, shift; }
sub bar {
  push @_, '';
  pop;
  print "Foo::bar(",join(', ', @_),")\n";
  goto &baz;
}
sub baz { print "  ", ref $_[0],"->baz(",join(', ', @_),")\n"  };

package main;

$foo = Foo->new();
$foo->bar('direct');
$foo->('code deref');
</code>

With the push & pop in Foo::bar you get:
    Foo::bar(Foo=HASH(0x155f9b4), direct)
      Foo->baz(Foo=HASH(0x155f9b4), direct)
    Foo::bar(Foo=HASH(0x155f9b4), code deref)
      Foo->baz(Foo=HASH(0x155f9b4), code deref)

which is fine and dandy.  If you comment the push & pop in Foo::bar you
get:
    Foo::bar(Foo=HASH(0x155f9b4), direct)
      Foo->baz(Foo=HASH(0x155f9b4), direct)
    Foo::bar(Foo=HASH(0x155f9b4), code deref)
      ->baz(, code deref)

Note $foo->{callee} no longer gets a reference to $foo when called via
overloaded '&{}'.  The successive 'gotos' are not the problem, as
adding 'sub foo {goto &bar}' to Foo and calling '$foo->foo()' works
fine.

I hope what I want to do makes sense even if why doesn't.  I fear
including too much of "why" will make the issue less clear, so I
discarded some "why" and made the simplest "what" I could with the
above example code.

A simpler question: does anyone know of a package in CPAN which can
make arbitrary objects callable?  I couldn't find one, but wasn't
coming up with good search terms.  Package overload does a little in
this regard, but there are some hoops to jump through so that methods
(and callable objects) are called properly, hoops I am trying to hide
within another package.



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

Date: 12 Feb 2005 16:03:47 -0800
From: "JNye" <nyejeff@yahoo.com>
Subject: Re: perl extension promblem Can't find 'boot_<blah>' symbol in .so
Message-Id: <1108253027.691899.154560@o13g2000cwo.googlegroups.com>


XSLoader is the default, at least in my invocation of h2xs.

I'll read through the DynaLoader docs and give it a try.

Thanks for the pointer.



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

Date: Sat, 12 Feb 2005 23:19:34 +0000
From: Sisyphus <kalinaubears@iinet.net.au>
Subject: Re: perl extension promblem Can't find 'boot_<blah>' symbol in .so
Message-Id: <420e9e94$0$6506$5a62ac22@per-qv1-newsreader-01.iinet.net.au>

Sisyphus wrote:

> 
> 
> I would try reverting to DynaLoader (instead of XSLoader) and see if 
> that fixes the problem. According to 'perldoc XSLoader', "many (most) 
> features of DynaLoader are not implemented in XSLoader".
> 

Nope - doesn't help. In fact, all I needed to do to get it to work was 
delete '#include "ppport.h"' from the XS file and in the Makefile.PL 
replace 'LinkedCBasicTest.o' with 'DefRd2.o LinkedCBasicTest.o'.

By default, OBJECT is set to DefRd2.o - but when you specify OBJECT in 
the WriteMakefile() section, then DefRd2.o is *replaced* by whatever you 
specify - so you need to specify DefRd2.o as well.

Not sure what's going on wrt ppport.h.

(I also needed to fix a few typos in the post - that obviously aren't in 
the original.)

Cheers,
Rob
-- 
To reply by email u have to take out the u in kalinaubears.



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

Date: 12 Feb 2005 17:41:36 -0800
From: "JNye" <nyejeff@yahoo.com>
Subject: Re: perl extension promblem Can't find 'boot_<blah>' symbol in .so
Message-Id: <1108258896.292822.201790@g14g2000cwa.googlegroups.com>


Excellent, thanks very much for your time. And my appologies for the
typos in my post, I was trying to be as brief as possible.

I confirmed your diagnosis of OBJECT mis-use in Makefile.PL on my part.


Everything works as expected. 

Again, thanks Rob.



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

Date: Sun, 13 Feb 2005 12:54:27 GMT
From: "David Frank" <dave_frank@hotmail.com>
Subject: Process word occurances in Bible?
Message-Id: <76IPd.69973$JF2.14936@tornado.tampabay.rr.com>

 I just posted below individually  in comp.lang.fortran and comp.lang.pl1
 topic  "Word-processing challenge anyone? "
and I expect to get at least 1 solution in reply in next few days.

Compared to Perl  these solutions will be quite wordy,  however I expect 
they are faster?
Can someone translate/process below so that I can post the source/results in 
these 2 newsgroups?

-------------  below posted in comp.lang.fortran ----------
Want to give this a shot?
Get the text file at:   http://patriot.net/~bmcgin/kjvpage.html
Using a  text editor (notepad) remove text before
Book 01 Genesis    and text after last word in Revelations,  (amen)
producing bible.txt file containing
4,947,047 chars.

The challenge is to process bible.txt file into words array and count unique
word occurances in count array.
(this challenge was initiated by LR, whose C++ source/results will be posted
later, along with my own source/results)..

In this processing, convert all punctuation and numbers to blanks, and
uppercase to lower.
One punctuation exception is '  (within a word)  is deleted leaving   wife's
as  wifes

When bible.txt is "thusly" processed I expect you shud get following outputs
 total words    = 789781
 unique words =  12691
xx.xx  Sec  ?.?? Ghz PC

Pls post  your time and PC speed..

! A few template statements in this word-processing benchmark challenge to
get started are:
! -----------------------------
program count_word_occurances  ! in bible.txt
implicit none
integer,parameter :: maxw = 65536     ! or lower if possible
character(24) :: words(maxw)
integer       :: i, n, counts(maxw)=0,   t1(8), t2(8)

call date_and_time(values=t1)   ! get benchmark start time

!  open file='bible.txt' ...

! process word occurances into the 2 arrays words,counts
! until EOF  as per your word-processing algorithm

call date_and_time(values=t2)   ! get benchmark stop time

n = 0            ! count unique words found
do i = 1,maxw
   if (counts(i) /= 0) n = n+1
end do

write (*,*) 'total words  =',sum(counts)
write (*,*) 'unique words =',n

write (*,'(f0.2,a)') (t2(5)*3600.+t2(6)*60.+t2(7) +t2(8)/1000.) &
     -(t1(5)*3600.+t1(6)*60.+t1(7) +t1(8)/1000.), ' Sec  <- 2.8 Ghz PC'
end program






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

Date: 12 Feb 2005 23:25:12 -0800
From: bahat@topio.com
Subject: Re: TCP connection close after starting a command session
Message-Id: <1108279512.140784.39780@c13g2000cwb.googlegroups.com>

Ok. It is just the code from PERLIPC with one added command.
What I'm seeing is that the client is stuck until the command session
opened in the server is closed.

Server
~~~~~
#!/usr/bin/perl -w
use IO::Socket;
use strict;
use Net::hostent;              # for OO version of gethostbyaddr

$|=1 ;

my $PORT = 9000;                  # pick something not in use

my $server = IO::Socket::INET->new(	Proto		=> 'tcp',
									LocalPort	=> $PORT,
									Listen		=> SOMAXCONN,
									Reuse		=> 1)
					or die "can't setup server";

print "[Server $0 accepting clients]\n"; #$0 == file name

my $client;

while ($client = $server->accept())
{
	$client->autoflush(1); # cleans buffer
	print $client "Welcome to $0.\n"; #message for client when connected

	my $hostinfo = gethostbyaddr($client->peeraddr); #get the client host
	printf "[Connect from %s]\n", $hostinfo->name || $client->peerhost;

	print $client "Command? ";

	while ( <$client>)
	{
		print "Recieved: $_\n" ;
		next unless /\S/;    # if blank line move next
		if     (/quit|exit/i)	{ printf $client "bye bye..."; last; }
     	elsif (/date|time/i)	{ printf $client "%s\n", scalar localtime; }
     	elsif (/mycommand/i) 	{system("start cmd") ; print $client
"started command " ; }
     	else  {print "Unknown command $_ \n" ; }

     	print "Command handled\n" ;
	}
	continue {
		print $client "Command? ";
	}
	close $client || warn $!;
	#shutdown($client, 2) ;
	printf "Client connection closed\n" ;
}

Client
~~~~
#!/usr/bin/perl -w
use IO::Socket;
my $host = 'server_hostname';
my $port = 9000 ;

my $remote = IO::Socket::INET->new(Proto		=> "tcp",
                                	       PeerAddr	=> $host,
        			       PeerPort	=> $port)
                         or die "cannot connect to port $port on
$host";

print $remote "mycommand\n" ;
print $remote "exit\n" ;

print "Sent commands.  Waiting for server\n" ;
while ( <$remote> ) { print }
print "About to close\n" ;
close $remote



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

Date: Sun, 13 Feb 2005 20:37:18 +0800
From: "Glory Regained" <mygloryregained@hotm@il.com>
Subject: Who can help me write a perl script to extract the pictures out of this webpage?
Message-Id: <cung54$net$1@mawar.singnet.com.sg>

http://www.pierluigisurace.it/imagerie/aatw0016.htm

I like the pictures so much, but my Perl tricks are few.

Thanks in advance.





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

Date: Sun, 13 Feb 2005 22:50:00 +1000
From: Gregory Toomey <nospam@bigpond.com>
Subject: Re: Who can help me write a perl script to extract the pictures out of this webpage?
Message-Id: <3790noF581qbsU2@individual.net>

Glory Regained wrote:

> http://www.pierluigisurace.it/imagerie/aatw0016.htm
> 
> I like the pictures so much, but my Perl tricks are few.
> 
> Thanks in advance.

Far easier would be to mirror it using wget:
http://www.gnu.org/software/wget/wget.html

gtoomey


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

Date: Sun, 13 Feb 2005 21:43:56 +0800
From: "Glory Regained" <mygloryregained@hotm@il.com>
Subject: Re: Who can help me write a perl script to extract the pictures out of this webpage?
Message-Id: <cunk22$nks$1@mawar.singnet.com.sg>

Well, done with it anyway. You may put a wait statement in order not to
overburden the server.




#!/usr/bin/perl
use Win32::Internet;

 $base_url = "http://www.pierluigisurace.it/imagerie/";
 $base_main = "http://www.pierluigisurace.it/imagerie/aatw";
 @https = <FIL1>;
 close(FIL1);

 $INET = new Win32::Internet();
 $fl = 0;
 $j = 1000000;
 for($i = 0; $i <= 88; $i++) {
  $frag = "00" . $i . ".htm";
  if ($i < 10) {
   $frag = "000" . $i . ".htm";
  }
  if ($i == 0) {
   $frag = ".htm";
  }

  $html = $base_main . $frag;
  $file = $INET->FetchURL($html);

  @urls = split("<td align=\"left\" width=\"16%\"><A HREF=\"", $file);
  foreach $url (@urls) {
   if ( substr($url, 0, 12) eq "images/aatw/" ) {
    # Take an etiquette nap here. :)
    @reals = split("jpg", $url);
    $JPG = @reals[0] . "jpg";
    $JPG = $base_url . $JPG;
    $file1 = $INET->FetchURL($JPG);
    @JPGS = split("aatw/", $JPG);
    $fn = "./images/aatw/" . $j . "_" . @JPGS[1];
    $j = $j + 1;
    open(DAT, ">./$fn");
    binmode DAT;
    print DAT ($file1);
    close(DAT);
    $fl = $fl + length($file1) / 1024;
    if ( $fl > (4*1024*1024) ) {        # My harddisk has no space now :(
     print ($JPG . " Finished, total of $fl KB, now it is on Page No. $i\n")
;
     exit;
    }
    print ($JPG . " Finished, total of $fl KB\n") ;
   }
  }
 }
 print "All Done \n";






"Glory Regained" <mygloryregained@hotm@il.com> wrote in message
news:cung54$net$1@mawar.singnet.com.sg...
> http://www.pierluigisurace.it/imagerie/aatw0016.htm
>
> I like the pictures so much, but my Perl tricks are few.
>
> Thanks in advance.
>
>
>




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

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


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