[6620] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 245 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Apr 7 01:07:32 1997

Date: Sun, 6 Apr 97 22:00:20 -0700
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, 6 Apr 1997     Volume: 8 Number: 245

Today's topics:
     Re: $ Terminator?? - (Tad McClellan)
     ANNOUNCE: MailFolder-0.06 (Kevin Johnson)
     Re: Basic procedure(merge 2 files) <rty333@email.sps.mot.com>
     Re: Basic procedure(merge 2 files) <rty333@email.sps.mot.com>
     Re: lock file necessary? <merlyn@stonehenge.com>
     Re: Ousterhout and Tcl lost the plot with latest paper (Cameron Laird)
     Re: Ousterhout and Tcl lost the plot with latest paper (Cameron Laird)
     Re: Ousterhout and Tcl lost the plot with latest paper (Hume Smith)
     Re: Ousterhout and Tcl lost the plot with latest paper (Fergus Henderson)
     Ousterhout is partially right (was: Re: Ousterhout lost <kcclaess@cse.ogi.edu>
     Re: Ousterhout is partially right (was: Re: Ousterhout  <graham.matthews@maths.anu.edu.au>
     Re: Perl and NT <geof@abraxis.com>
     Setting up CGI.pm for web site./ Calling modules <circlesoflife@earthlink.net>
     Shopping Cart type question. (Dico Reyers)
     Sockets/fork() question... <peter@sc.edu>
     Strange warning about split, without a split being used (Abigail)
     Re: Strange warning about split, without a split being  (Dave Thomas)
     Re: TCL & interface definitions (was Re: Ousterhout and (Hume Smith)
     Re: TCL & interface definitions (was Re: Ousterhout and (Cameron Laird)
     Digest Administrivia (Last modified: 8 Mar 97) (Perl-Users-Digest Admin)

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

Date: Sun, 6 Apr 1997 20:15:04 -0500
From: tadmc@flash.net (Tad McClellan)
Subject: Re: $ Terminator?? -
Message-Id: <oqh9i5.2qb.ln@localhost>

Tammy Cotter (cottert@sonic.net) wrote:
: Would appreciate some help.  New to PERL, so I have to ask a stupid
: question.

: What is a string terminator, and where do I put it.


How do you know that here is something called a 'string terminator'?

>From an error message, perhaps?

Care to share the *exact* wording of that error message?


The perldiag man page lists all of the error messages that perl
might issue, and why perl is complaining about that.

One of the error messages listed there is:

=item Can't find string terminator %s anywhere before EOF


Does that sound like the one you are getting?

If so, what terminator is in the place of that %s there?

When I cut and paste your code, a 'perl -cw' says "syntax OK"

So that problem is not in the code you sent us,
it is somewhere else...



: This is the script I'm trying to run: (as you can tell it's borrowed
: heavily from formmail - I'll put the copyright statement in when the thing
: works).

: Keep getting an error 500 when I try to run it from the web and no string
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Often cause by not having a blank line to mark the end of the
headers.

Do you output a blank line after your headers? 

I don't see a place where you do...

print "Location: $return\n\n";  # did you want this instead of the below?
#                       ^^^^


: terminator before line 92 when I do perl -w.
                    ^^^^^^^

You should show us which is line 92. Do you want _us_ to count them?


: Thanks.

Sorry I couldn't help. Can't duplicate the problem with the
code you posted...


--
    Tad McClellan                          SGML Consulting
    Tag And Document Consulting            Perl programming
    tadmc@flash.net


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

Date: 7 Apr 1997 02:56:23 GMT
From: kjj@primenet.com (Kevin Johnson)
Subject: ANNOUNCE: MailFolder-0.06
Message-Id: <5i9non$s24$1@nadine.teleport.com>
Keywords: perl email

The newest version (0.06) of the Mail::Folder module has been posted to
CPAN under my author id (KJOHNSON) and name (Kevin_Johnson).

 ... perl's response to the Law of Software Envelopment ...

Mail::Folder provides a perl module interface to email folders that is
independent from the physical folders.  The actual work on folders is
done with folder interface modules lying 'beneath' the Mail::Folder
interface.

The module is still in alpha release.  Think twice about using it to
modify folders that you consider important (at the very least make
backup copies :-).  That being said, I'll mention that I use it as the
sole interface to my email at home.

The method interface is currently in an evaluation phase.  Before it
goes to beta, I expect to make method interface changes that won't be
backwards compatible.

The current version was developed and tested against 5.003_97 or
newer.  Older versions won't work.

Here are some of the more notable new features and unmalfeatures added
since the last release:
	+ Had to nuke support for flock locking temporarily - sorry.
	+ No longer needs File::BasicFlock (a replacement is in the works).
	+ DotLocking can optionally be made NFS-safe.
	+ Fixed some race conditions with folder locking.
	+ Various bug fixes, cleanups, and optimizations.

########################################################################
NOTE: The next release will probably have several incompatible     :NOTE
NOTE: interface changes.                                           :NOTE
########################################################################

Refer to the provided README file for additional information.

I am keenly interested in feedback from folks doing interesting stuff
with the package.

Please report any bugs/suggestions to <kjj@pobox.com>.

Copyright (c) 1996-1997 Kevin Johnson <kjj@pobox.com>

All rights reserved.  This program is free software; you can
redistribute it and/or modify it under the same terms as Perl itself.

-- 
thx,
kjj@pobox.com   http://www.pobox.com/~kjj/




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

Date: Mon, 07 Apr 1997 13:12:44 +0000
From: Yoshiaki Murakami <rty333@email.sps.mot.com>
Subject: Re: Basic procedure(merge 2 files)
Message-Id: <3348F2CB.4E5E@email.sps.mot.com>

Thank you for help. 
One procedure for merge was advanced.
I have more one problem, please see belowing procedure ,comment 
and please tell me the procedure.

Thank you again.

REGARDS, 
  Yoshi.

---------------------------------------------------------
#Book list

open(DATA1,"data1") || die "Can't open data1: $!\n";
open(DATA2,"data2") || die "Can't open data2: $!\n";
while (<DATA1>) {
	chop;
   ($bookname, $auther, $volume)
    = split(/;/, $_);

                                        
#??????????????????????????????????????????
         while (<DATA2>) {               #   How to find matching and 
 		 chop;                          #    how to merge and how to keep it 
     	 ($bookname, $price)            #    for make result file
following format.
       = split(/;/, $_);              
#??????????????????????????????????????????


}
exit;

format STDOUT_TOP =
                 ----- BOOK LIST -----
    BOOK_NAME         AUTHER          VOLUME(pages) PRICE($)
----------------- ------------------- ------------- --------
 .

format STDOUT = 
@<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<< @>>>>>>>>>>>> @#######
$bookname,$auther,$volume,$price
 .


# ===== To explain source and result data ===== 
# (Data file "data1")
  PerlLanguage;LaryWall;633;
		LerningPerl;Randal_L.Schwartz;220;
		ProgrammingPerl;LaryWall;428;

# (Data file "data2")
  LerningPerl;15;
  ProgrammingPerl;17;

# (Result that I want)
                 ----- BOOK LIST -----
    BOOK_NAME         AUTHER          VOLUME(pages) PRICE($)
----------------- ------------------- ------------- --------
PerlLanguage      LaryWall                      633
LerningPerl       Randal_L.Schwartz             220       15
ProgrammingPerl   LaryWall                      428       17 
    
---------------------------------------------------------


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

Date: Mon, 07 Apr 1997 13:33:54 +0000
From: Yoshiaki Murakami <rty333@email.sps.mot.com>
Subject: Re: Basic procedure(merge 2 files)
Message-Id: <3348F7BE.130C@email.sps.mot.com>

================================================================
Excuse me, but few lines go out of order so I recreate as below.
================================================================

Thank you for help. 
One procedure for merge was advanced.
I have more one problem, please see belowing procedure ,comment 
and please tell me the procedure.

Thank you again.

REGARDS, 
  Yoshi.

---------------------------------------------------------
#Book list

open(DATA1,"data1") || die "Can't open data1: $!¥n";
open(DATA2,"data2") || die "Can't open data2: $!¥n";
while (<DATA1>) {
        chop;
   ($bookname, $auther, $volume)
    = split(/;/, $_);

                                        
                            #???????????????????????????????????
   while (<DATA2>) {        #   How to find matching and 
   chop;                    #    how to merge and how to keep it 
   ($bookname, $price)      #    for make result file
        = split(/;/, $_);   #    following format.
                            #???????????????????????????????????


}
exit;

format STDOUT_TOP =
                 ----- BOOK LIST -----
    BOOK_NAME         AUTHER          VOLUME(pages) PRICE($)
----------------- ------------------- ------------- --------
 .

format STDOUT = 
@<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<< @>>>>>>>>>>>> @#######
$bookname,$auther,$volume,$price
 .


# ===== To explain source and result data ===== 
# (Data file "data1")
  PerlLanguage;LaryWall;633;
                LerningPerl;Randal_L.Schwartz;220;
                ProgrammingPerl;LaryWall;428;

# (Data file "data2")
  LerningPerl;15;
  ProgrammingPerl;17;

# (Result that I want)
                 ----- BOOK LIST -----
    BOOK_NAME         AUTHER          VOLUME(pages) PRICE($)
----------------- ------------------- ------------- --------
PerlLanguage      LaryWall                      633
LerningPerl       Randal_L.Schwartz             220       15
ProgrammingPerl   LaryWall                      428       17 
    
---------------------------------------------------------


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

Date: 06 Apr 1997 20:14:02 -0700
From: Randal Schwartz <merlyn@stonehenge.com>
To: mjd@plover.com (Mark-Jason Dominus)
Subject: Re: lock file necessary?
Message-Id: <8cd8s7ed8l.fsf@gadget.cscaper.com>

>>>>>> "MJD" == Mark-Jason Dominus <mjd@plover.com> writes:

MJD> In article <Pine.GSO.3.96.970404053337.9600I-100000@kelly.teleport.com>,
MJD> Tom Phoenix  <rootbeer@teleport.com> wrote:
MJD> > Don't forget to seek the end of the file after locking. 

MJD> I don't know about non-unix systems, but on a Unix system this is
MJD> unnecessary.  On Unix, opening a file in append mode tells the kernel
MJD> to atomically seek to the end of the file immediately prior to *every*
MJD> write, regardless of whether or not some other process has been
MJD> writing there also.  

Only on *some* versions of Unix.  On some, it is still necessary to
seek.  Hence, the seek is safer, more broadly compatible.

print "Just another Perl hacker," # but not what the media calls "hacker!" :-)
## legal fund: $20,495.69 collected, $182,159.85 spent; just 512 more days
## before I go to *prison* for 90 days; email fund@stonehenge.com for details

-- 
Name: Randal L. Schwartz / Stonehenge Consulting Services (503)777-0095
Keywords: Perl training, UNIX[tm] consulting, video production, skiing, flying
Email: <merlyn@stonehenge.com> Snail: (Call) PGP-Key: (finger merlyn@ora.com)
Web: <A HREF="http://www.stonehenge.com/merlyn/">My Home Page!</A>
Quote: "I'm telling you, if I could have five lines in my .sig, I would!" -- me


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

Date: 6 Apr 1997 21:43:47 -0500
From: claird@Starbase.NeoSoft.COM (Cameron Laird)
Subject: Re: Ousterhout and Tcl lost the plot with latest paper
Message-Id: <5i9n13$gcd@Starbase.NeoSoft.COM>

In article <5i9eui$d56@mulga.cs.mu.OZ.AU>,
Michael David WINIKOFF <winikoff@mundook.cs.mu.OZ.AU> wrote:
			.
			.
			.
>Whereas in TCL/Tk an attempt to write "button .b -command 12" will not be 
>caught until the button is actually hit, the equivalent TkGofer code will 
>not be accepted by the compiler.
			.
			.
			.
For better or worse, by the way, it's not clear
what your example exemplifies; it's possible in
Tcl for "12" to name a procedure.  Aficionados
rate this a feature, of course.

Follow-ups deserve trimming, but I haven't the
energy.
-- 

Cameron Laird           http://starbase.neosoft.com/‾claird/home.html
claird@NeoSoft.com      +1 713 623 8000 #227
                        +1 713 996 8546 FAX


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

Date: 6 Apr 1997 21:54:11 -0500
From: claird@Starbase.NeoSoft.COM (Cameron Laird)
Subject: Re: Ousterhout and Tcl lost the plot with latest paper
Message-Id: <5i9nkj$h0i@Starbase.NeoSoft.COM>

In article <MPG.db1e484ebef598298974d@news.demon.co.uk>,
Cyber Surfer <cyber_surfer@gubbish.wildcard.demon.co.uk> wrote:
			.
			.
			.
>very similar. However, we're assuming that the code is for Windows. If 
>you do that, then you've made it easy for a Windows develop to play a 
>trump card - unless Tcl supports ActiveX (please say that it does!) 
>and all the other features specific to Win32.
			.
			.
			.
Tcl does not support ActiveX.

OpTcl <URL:http://www.sys.uea.ac.uk/‾fuzz/OpTcl.html> is one
of a number of projects which do.

I've slashed follow-ups.
-- 

Cameron Laird           http://starbase.neosoft.com/‾claird/home.html
claird@NeoSoft.com      +1 713 623 8000 #227
                        +1 713 996 8546 FAX


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

Date: 7 Apr 1997 03:09:33 GMT
From: hclsmith@tallships.istar.ca (Hume Smith)
Subject: Re: Ousterhout and Tcl lost the plot with latest paper
Message-Id: <5i9ohd$ght@news.istar.ca>

In article <MPG.db1e484ebef598298974d@news.demon.co.uk>, 
cyber_surfer@gubbish.wildcard.demon.co.uk says...

>I guess the large number of development tools with interface builders 
>and their popularity supports my view, but I'm not sure that numbers 
>are relevant to this thread - if they were, we'd all be talking about 
>something else. For what it's worth, it's one way of looking at it.

FWIW, i'll throw in that i gave up using builders with tk - it became as 
easy/easier to write the code directly as use a builder and try to fit it to my 
program.

XF was very handy intially, because i could play with the packer dynamically 
and learn all its little quirks; but now, having sussed the packer and with the 
addition of the gridder (and even the new useable placer), and a few procs of 
my own for repetitive stuff (like double scrollbars), builder programs aren't 
worthwhile.  for me.




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

Date: 7 Apr 1997 03:47:21 GMT
From: fjh@mundook.cs.mu.OZ.AU (Fergus Henderson)
Subject: Re: Ousterhout and Tcl lost the plot with latest paper
Message-Id: <5i9qo9$mvh@mulga.cs.mu.OZ.AU>

winikoff@mundook.cs.mu.OZ.AU (Michael David WINIKOFF)
gives us an example using TkGofer:

>ex_button :: IO ()
>ex_button = start $
>  do w <- window [title "My Example2"]
>     l <- label  [text "hello world", background "yellow"] w
>     b <- button [text "press me", command quit] w
>     pack (l << b)

I'm pretty sure that that example is more verbose than it needs to be.
The type declaration in the first line is optional -- Gofer will infer
it if you leave it out.

--
Fergus Henderson <fjh@cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/‾fjh>   |  of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3         |     -- the last words of T. S. Garp.


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

Date: Sun, 6 Apr 1997 19:03:47 -0700
From: Koen Claessen <kcclaess@cse.ogi.edu>
To: Donald Syme <drs1004@cl.cam.ac.uk>
Subject: Ousterhout is partially right (was: Re: Ousterhout lost the plot)
Message-Id: <Pine.SUN.3.95.970405171959.3566z-100000@huckle.cse.ogi.edu>

Don writes:

 | ... Ousterhout
 | is right on this point at least: strong, static typing
 | does often mean cutting back on nifty syntactic tricks that
 | are played with untyped languages 

I don't think it is the strong typing that does it, it is just the lack of
abstraction. Strong typing, if rich enough, can even _help_ you making
better abstractions in a language.

Ousterhout is absolutely right: we need languages that provide better glue
than the languages he calls `system languages'. But that doesn't mean that
we have to give up strong typing! 

 | ... At least until the language designers
 | add some features (like labelled optional arguments) to their
 | language.

What do you think of type classes? The system `TkGofer' uses these, to do
a pretty good job combining the conciseness of Tcl with the strong typing
and expressiveness of functional languages (in this case Gofer). 

An example of an expression in TkGofer is:

  b <- button [ text "A button", command (puts "hello") ] w

This would create a button in window w with the specified options and puts
the result in the variable b. (This is a disadvantage of Tcl -- explicit
naming of widgets).

Strong typing is for example _used_ for configurations. A widget that has
no command, can't get a `command' configuration. For example: 

  l <- label [ text "A label", command foo ] w

Will give a _static_ type error:

  Type checking.....
  ERROR (line 7):
  *** Required instance : HasCommand Label

Because labels don't have commands. But _both_ widgets can get the `text'
configuration, because they both have text. TkGofer use type classes to do
this.

My experience with TkGofer is that it is even more concise than Tcl, _due_
to the expressiveness of strong typing, type classes, and functional
programming in general.

TkGofer is one of the many examples that show how we can use strongly
typed (functional) languages as glue to provide interfaces to untyped
libraries.

References:

* Vullinghs, T., `TkGofer homepage', URL:
  http://www.informatik.uni-ulm.de/abt/pm/ftp/tkgofer.html

* Claessen, K., Vullinghs, T. and Meijer, E., `Structuring Graphical
  Paradigms in TkGofer', to appear at the ICFP '97, URL:
  http://www.cse.ogi.edu/‾kcclaess/Articles/tkgofer.ps

Regards,
Koen.

--
|  Koen Claessen,                   koen@cse.ogi.edu.  |
|                   http://www.cse.ogi.edu/‾kcclaess/  |
|------------------------------------------------------|
|  Visiting student at OGI,    Portland, Oregon, USA.  |






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

Date: Mon, 07 Apr 1997 13:58:43 +1000
From: Graham Matthews <graham.matthews@maths.anu.edu.au>
Subject: Re: Ousterhout is partially right (was: Re: Ousterhout lost the plot)
Message-Id: <334870F3.3046@maths.anu.edu.au>

Koen Claessen wrote:
> What do you think of type classes?
> ...
> 
> My experience with TkGofer is that it is even more concise than Tcl, _due_
> to the expressiveness of strong typing, type classes, and functional
> programming in general.

I'll second this opinion. I wrote a GUI using TkGofer and it was most
concise and reliable. Far more so than similar things I have written in
Tcl and in Python. The type checking proved very useful -- I had no
problems with TkGofer's strong static typing (ie. it never got in the
way). It's just a pity that TkGofer is hooked up to Tk (I can't stand
the eventloop model of GUIs -- give me threaded GUIs any day!).

graham
-- 
         I would gladly die for a man who was looking for the 
        truth, but would just as gladly kill a man who thought 
                he had actually found it -- Voltaire


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

Date: Sun, 06 Apr 1997 22:33:07 -0400
From: Geoffrey Myers <geof@abraxis.com>
To: Matthew Knight <matt@geenite.demon.co.uk>
Subject: Re: Perl and NT
Message-Id: <33485CE3.19B78040@abraxis.com>

Matthew Knight wrote:
> 
> I use Perl on a UNiX box at the moment, but I've been asked to develop a
> site which will sit on an NT server.
> 
> What is the easiest way of getting Perl for an NT machine, is a case of
> getting an NT Perl port, sticking it on the server, and then
> referenceing it in the the usual way...
> 
> i'd be grateful if anyone who knows how to do it, could you email me at

God I hate NT, it sucks.  That ought to get them going.  I'm currently
being forced to support a web site on an NT box and I'm using perl for
all my cgi stuff.  Check out the docs at www.perl.com/perl/ you'll find
pointers to NT ports of perl.  It works, although you'll find some
differences.

> matt@geenite.demon.co.uk
> 
> thanks alot
> 
> Matt Knight

-- 
Until later:
Geoffrey Myers   geof@abraxis.com	http://www.abraxis.com/geof

	Opinions expressed by me are mine, all mine, only mine.....


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

Date: Sun, 06 Apr 1997 21:17:33 +0000
From: Kevin Merker <circlesoflife@earthlink.net>
Subject: Setting up CGI.pm for web site./ Calling modules
Message-Id: <334812EB.68E8@earthlink.net>

This is a multi-part message in MIME format.

--------------5A0024D372E6
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I'm setting up a web site that uses three sets of address, name and
credit card information.  I've done my research and have found that
using the CGI.pm modules for data movement to the business E-mail
address is the way to go. I need to know how to call up the module from
the perl scripting in the cgi-bin to do the actual data transfer from
the HTML text fields. If I had a template to go by that I could adapt to
my web page I'm  pretty sure that I could get it up and running. I've
attached the HTML if anyone thinks they could be of some help.
You can call 1-800-579-2900 and talk to me personally. It would be worth
a few dollars to anyone that could get me up and running.

Thanks
Kevin R. Merker

--------------5A0024D372E6
Content-Type: text/html; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="74747874"; name="circles.html"
Content-Transfer-Encoding: 7bit
Content-Description: SimpleText Document
Content-Disposition: inline; filename="circles.html"
Content-Base: "file:///Kevin/http-%252F%252Fwww.circl
	esoflife.com/circles.html"

<BASE HREF="file:///Kevin/http-%252F%252Fwww.circlesoflife.com/circles.html">

<html>
<head>
<title>Circles of Life Home Page</title>
</head>
<body>
<body  bgcolor="#ffffff">
<center>
<A NAME="Circles Title"><IMG SRC="Circles Title.gif">
</center>
<BR>
<P ALIGN=JUSTIFY>These <A HREF="#wreath">all natural, grapevine and floral wreaths </A>will be sent to any cemetery in the world for graveside placement. The loved one's (next of kin or friend) will recieve an <A HREF="#card1">engraved personalized card</A>, acknowledging your gesture of <A HREF="#card2">sympathy</A> or <A HREF="#card1">remembrance.</A> <B>                                 <A HREF="#order">Order here</A>for $19.95 and $4.00 shipping and handling online via E-mail and the WEB or call 1-888-579-2900 toll free.</B></P>
<BR>
<HR>
<BR>
<CENTER>
<P><A NAME="wreath"><H1>Beautiful Wreaths</H1></A></P>
</CENTER>

<CENTER>
<IMG SRC="shrunk wreath.gif" ALIGN=CENTER>
</CENTER>

<P>Biodegradable all natural, environmentally safe Circles of Life wreath may be placed <B>in any cemetery that won't allow artificial flowers.</B> With the Acknowledgment Card of Remebrance or Sympathy sent across town or around the world overnight express mail.<A HREF="#card1">  Go to Remebrance Card</A>*<A HREF="#card2">  Go to Sympathy Card</A>*<A HREF="#Circles Title">Home Page</A>*<A HREF="#order">Order Now!</A></P>
<BR><BR>
<BR><BR>
<center>
<P><A NAME="card1"><H4>Select type of Acknowledgment Card Needed</H4>
<IMG SRC="cropcard1.gif">
</center>
<P>Remember that special date in your grandparents life; and let your parents know of your kind remebrance wreath being placed graveside; <B>with a very personalized acknowledgment card sent overnight express mail.</B><A HREF="#card2">  Go to Sympathy Card</A>*<A HREF="#order">Order Now!</A> *<A HREF="#wreath">All Natural, Grapevine and Floral Wreaths </A>*<A HREF="#Circles Title">Home Page</A>*<A HREF="#order">Order Now!</A></P>
<BR><BR></P>
<HR>
<center>
<P><A NAME="card2"><IMG SRC="cropcard2.gif">
</center>
<P>For the first time funeral flowers and sympathy card in one. An affordable price allows a beautiful wreath to be placed in the cemetery, with the family or loved ones receiving a personalized engraved bordered card, letting them know of your heartfelt sympathy and kind floral gesture placed graveside.<A HREF="#card1">  Go to Remebrance Card</A>*<A HREF="#order">Order Now!</A> *<A HREF="#wreath">All Natural, Grapevine and Floral Wreaths </A>*<A HREF="#Circles Title">Home Page</A></P>
<BR><BR></P>
<HR >
<BR>
<BR>
<FORM METHOD = "POST" ACTION = "/cgi-bin/circles.pl">
<CENTER>
<A NAME="order">
<P><H2>PLEASE CALL 1-888-579-2900 TOLL FREE TO PLACE ORDER BY PHONE</H2>

</CENTER>
<HR>
<BR>
<P><H2> Please choose one of the listed relationships of the deceased:</H2></P>
<P>
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Mother
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Father
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Sister
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Brother
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Daughter
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Son
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Grandmother
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Grandfather
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Uncle
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Aunt
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Cousin
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Mentor
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Coworker
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Child
<INPUT NAME = "RELATIONSHIP" TYPE = RADIO>Friend
<HR>
<H2>Wreath Placement Information</H2>
<P>Name of Deceased:<INPUT TYPE = "text" NAME="Name of Deceased" SIZE = 65>
<P>Cemetery:<INPUT TYPE = "text" NAME="Cemeteryp" SIZE = 72>
<P>Address:<INPUT TYPE = "text" NAME="Addressp" SIZE = 73>
<P>City:<INPUT TYPE = "text" NAME="Cityp" SIZE = 48>
State:<INPUT TYPE = "text" NAME="Statep" SIZE = 2>
Zip Code:<INPUT TYPE = "text" NAME="Zip Codep" SIZE = 10>
<P>
<HR>
<H2>Acknowledgement Card for:</H2>
<P>Next of Kin:<INPUT TYPE = "text" NAME="Name of Deceaseda" SIZE = 70>
<P>Address:<INPUT TYPE = "text" NAME="Addressa" SIZE = 73>
<P>City:<INPUT TYPE = "text" NAME="Citya" SIZE = 48>
State:<INPUT TYPE = "text" NAME="Statea" SIZE = 2>
Zip Code:<INPUT TYPE = "text" NAME="Zip Codea" SIZE = 10>
<P>
<HR>
<H2>Wreath and Card Given By:</H2>
<P>Name:<INPUT TYPE = "text" NAME="Name of Deceasedg" SIZE = 75>
<P>Address:<INPUT TYPE = "text" NAME="Addressg" SIZE = 73>
<P>City:<INPUT TYPE = "text" NAME="Cityg" SIZE = 48>
State:<INPUT TYPE = "text" NAME="Stateg" SIZE = 2>
Zip Code:<INPUT TYPE = "text" NAME="Zip Codeg" SIZE = 10>
<P>Type of Credit Account:<INPUT TYPE = "text" NAME="Accountg" SIZE = 43>
<P>Account Number:<INPUT TYPE = "text" NAME="Account Numberg" SIZE = 48>
<P>Date of Expiration:<INPUT TYPE = "text" NAME="Date of expirationg" SIZE = 8>
Issuing Bank Number:<INPUT TYPE = "text" NAME="Issuing Bank Numberg" SIZE = 4>
Phone Number:<INPUT TYPE = "text" NAME="Phone Numberg" SIZE = 14>
<P>
<HR>
<P>
<INPUT TYPE=SUBMIT> <INPUT TYPE=RESET>
<P>
<HR>





</FORM>

</body>















--------------5A0024D372E6--



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

Date: Mon, 07 Apr 1997 01:19:27 GMT
From: dico@peionline.com (Dico Reyers)
Subject: Shopping Cart type question.
Message-Id: <33484ac8.19082498@news1.pei.sympatico.ca>

Hello,

I am in the process of making a shopping cart type program.

I was wondering if there is a way (I know there is, but not sure how)
to send a constant piece of information (like a customer ID number)
between different html pages.

I thought I saw something like...

<a href="something?something?xxxx.html">xxxx.html</a>.

Could someone help me out please?

Thanks...

Dico 

dico@peionline.com


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

Date: 7 Apr 1997 03:03:19 GMT
From: "Peter Smith" <peter@sc.edu>
Subject: Sockets/fork() question...
Message-Id: <01bc4308$b9a06ff0$4b1cfc81@e-greer>

I'm attempting to build a mini-robot with Perl.  I know they've been done,
but I'm trying to gain some deeper understanding of how they work.  Also,
many require either Perl5+, libwww, cgi.pm, etc.  Here's my dilemma.

I'd like to request a URL from some server and read through the contents of
the
returned html, then if necessary, make a new request on a new URL, and so
on...  

This script does extremely well for one request, but not for multiple
requests.  
Sometimes I get duplicate/multiple outputs, maybe either because I don't
know how many children I'm starting or not flushing buffers correctly,
sometimes no output, 
but always erratic.    

I've included the shell code from Programming Perl client program, slightly
modified (as I have tried it).  The real work is going on down at the
bottom of the script.

Any help would be greatly appreciated.


******************************************************************
*  Begin Client.pl			
******************************************************************
#!/usr/bin/perl
require 'cgi-lib.pl';

#Set up command line stuff.
($them,$port) = @ARGV;
$port = 80 unless $port;
$them = 'somesite.com' unless $them;

#Set up some socket variables.
$AF_INET = 2;
$SOCK_STREAM = 1;
$SIG{'INT'} = 'dokill';
sub dokill {
        kill 9,$child if $child;
}

$sockaddr = 'S n a4 x8';
chop($hostname = `hostname`);
($name,$aliases,$proto) = getprotobyname('tcp');
($name,$aliases,$port) = get servbyname($port,'tcp') unless $port =‾
/^¥d+$/;
($name,$aliases,$type,$len,$thisaddr) = gethostbyname($hostname);
($name,$aliases,$type,$len,$thataddr) = gethostbyname($them);
$this = pack($sockaddr, $AF_INET, 0, $thisaddr);
$that = pack($sockaddr, $AF_INET, $port, $thataddr);

        # Make the socket filehandle.
        if (socket(S, $AF_INET, $SOCK_STREAM, $proto)) {
        } else {
                die $!;
        }

        # Give the socket an address.
        if (bind(S, $this)) {
        } else {
                die $!;
        }

        # Call up the server.
        if (connect(S,$that)) {
        } else {
                die $!;
        }

        #Flush the buffer.
        select(S);$|=1;
        select(STDOUT);

### Here's where the real work begins.
LOOP: {
        if($child=fork) {
	    # This is the child code.
                print "GET /index.html HTTP/1.0¥n¥n";
	    sleep 3;
                do dokill();  # This child has done its work.
        } else {
	    # This is the parent code.
                while(<S>) {
                        if (/you see this/) {
			print;
		} elsif (/you see this URL/) {
			next LOOP;	# Go get it!
                        }	
	    } # The parent is done.
        }

}  #End LOOP
*******************************************************************
*  End Client.pl
*******************************************************************

--Peter--
peter@sc.edu



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

Date: Mon, 7 Apr 1997 02:48:01 GMT
From: abigail@ny.fnx.com (Abigail)
Subject: Strange warning about split, without a split being used.
Message-Id: <E88yG1.Ct1@nonexistent.com>


Earlier today, I did:

#!/usr/local/bin/perl -wT
$ENV {PATH} = qw (/usr/bin /bin);


(Of course I wanted to do: $ENV {PATH} = join ":", qw (/usr/bin /bin);)

The warning I got when running this was:

Use of implicit split to @_ is deprecated at - line 1.


That surprised me, as there is no split being used.

Is this a bug, or does qw call split when being used in a scalar context?



Abigail



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

Date: 7 Apr 1997 04:04:15 GMT
From: dave@fast.thomases.com (Dave Thomas)
Subject: Re: Strange warning about split, without a split being used.
Message-Id: <slrn5kgsht.b8o.dave@fast.thomases.com>

On Mon, 7 Apr 1997 02:48:01 GMT, Abigail wrote:
> 
> Earlier today, I did:
> 
> #!/usr/local/bin/perl -wT
> $ENV {PATH} = qw (/usr/bin /bin);
> 
> 
> (Of course I wanted to do: $ENV {PATH} = join ":", qw (/usr/bin /bin);)
> 
> The warning I got when running this was:
> 
> Use of implicit split to @_ is deprecated at - line 1.

The hint's on p. 48 of AC -

 "This construct {qw} is equivalent to splitting a single-quoted string on
  whitespace."
  
In fact, this leads to the wonderful:

  qw(quick brown fox);
  print "$_[1] stuff¥n";
  
Now _there's_ a side effect.

Dave


-- 

 _________________________________________________________________________
| Dave Thomas - Dave@Thomases.com - Unix and systems consultancy - Dallas |
 ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾


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

Date: 7 Apr 1997 03:00:59 GMT
From: hclsmith@tallships.istar.ca (Hume Smith)
Subject: Re: TCL & interface definitions (was Re: Ousterhout and Tcl lost the plot with latest paper)
Message-Id: <5i9o1b$ght@news.istar.ca>

In article <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com>, msterin@bmc.com says...

>Jack Jansen <jack@cwi.nl> wrote in article <jack.860328432@news.cwi.nl>...
>> ...
>> ...With languages like Python or Tcl, with
>> no interface definitions whatsoever, you can only *hope* that you use
>> every interface correctly. I work on a largish project in Python, and
>> the one thing that gives continuous headaches is the lack of interface
>> definitions. Whenever you change an interface it is very very
>> difficult to check that you haven't inadvertantly broken something.
>
>This what the regression testing is for, isn't it ?

if by regression testing you mean running it over and over and hoping someone 
spots something going wrong - no.

i remember a program i had to keep interfaced with a library made by someone a 
dozen VFPs away, in C.  it had one function which took about 18 parameters in 
version A, 20 in version B, and 25 in version C... and he didn't provide a 
prototype in this header file.  obviously he was a crap programmer, but that's 
not the point; he wasn't using the features of the language which would have 
told me "hey, your interface doesn't match"... the consequences of not setting 
those parameters were minute and tended to affect things a long way away from 
the function call itself.  running the pgm over and over wouldn't tell 
you exactly what went wrong, assuming it even *noticed* something wrong. 

of course, my example also points out how the best typing features of a 
language are pointless if they don't get used... perhaps, finally, it's a 
people issue, not a language issue.



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

Date: 6 Apr 1997 23:05:00 -0500
From: claird@Starbase.NeoSoft.COM (Cameron Laird)
Subject: Re: TCL & interface definitions (was Re: Ousterhout and Tcl lost the plot with latest paper)
Message-Id: <5i9rpc$opg@Starbase.NeoSoft.COM>

In article <5i9o1b$ght@news.istar.ca>,
Hume Smith <hclsmith@tallships.istar.ca> wrote:
>In article <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com>, msterin@bmc.com says...
>
>>Jack Jansen <jack@cwi.nl> wrote in article <jack.860328432@news.cwi.nl>...
>>> ...
>>> ...With languages like Python or Tcl, with
>>> no interface definitions whatsoever, you can only *hope* that you use
>>> every interface correctly. I work on a largish project in Python, and
>>> the one thing that gives continuous headaches is the lack of interface
>>> definitions. Whenever you change an interface it is very very
>>> difficult to check that you haven't inadvertantly broken something.
>>
>>This what the regression testing is for, isn't it ?
>
>if by regression testing you mean running it over and over and hoping someone 
>spots something going wrong - no.
			.
		[sad cautionary tale]
			.
			.
Now I'm curious; what *did* Mr. Jansen have in mind?
Was he saying that a language which enforces strict
(static?) typing promotes fewer mishaps in using
interfaces?  By "interface definition", did he mean
something beyond the syntactic?  Certainly there's a
lot of mayhem going on in typical developments just
at the syntactic level, and so improvement there is
significant, but I don't know whether that was all
that was intended.  Is Eiffel the model for defini-
tions which are "as good as they get"?

I've sent a copy of this to Mr. Jansen.  I've left
follow-ups alone, although I invite others to prune
them.
-- 

Cameron Laird           http://starbase.neosoft.com/‾claird/home.html
claird@NeoSoft.com      +1 713 623 8000 #227
                        +1 713 996 8546 FAX


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

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


Administrivia:

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

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

To submit articles to comp.lang.perl.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 245
*************************************

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