[6341] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 963 Volume: 7

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Feb 17 10:07:15 1997

Date: Mon, 17 Feb 97 07:00:23 -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           Mon, 17 Feb 1997     Volume: 7 Number: 963

Today's topics:
     2D hashes to DBMs and CGI question. <stupid+@andrew.cmu.edu>
     ANNOUNCE: Date::DateCalc 3.0 (Steffen Beyer)
     ANNOUNCE: new module Tie::TransactHash - edit hash in t (Michael De La Rue)
     ANNOUNCE: Term::ANSIColor 0.09 available <rra@cs.stanford.edu>
     Boundary not provided errors - HELP!!!!!!!!!! <pauls@silverplatter.com>
     Debugging in Perl ... akench@cvimail.cv.com
     Getting back successful matches using the g option (Douglas Burbury)
     Re: Getting back successful matches using the g option (Dave Thomas)
     HELP - perl talk to c via socket (Guo Sheng Wang EZM AP4)
     Re: HOW TO SPLIT A SIMPLE STRING <merlyn@stonehenge.com>
     Interesting problem. <Mazda.Hewitt@bbsrc.ac.uk>
     Re: IPC::Open2 difficult using. (Honza Pazdziora)
     Re: IPC::Open2 difficult using. (Lack Mr G M)
     Re: Need help for 2 easy PERL questions, please (Tad McClellan)
     PERL CGI problem, writing files (Dale Drechsler)
     Perl on NT Server 4.0 (IT'S WORKING) <stemo@powersim.no>
     Re: Searching for Perl-supported Linux database (Delbert Matlock)
     Re: Socket Programming Question <rdarnese@nortel.ca>
     The -w flag and modules (I R A Aggie)
     Re: Why is this an uncaught exception? <hammen@gothamcity.jsc.nasa.gov>
     Win32::Spawn problem <boutros+@andrew.cmu.edu>
     Digest Administrivia (Last modified: 8 Jan 97) (Perl-Users-Digest Admin)

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

Date: Mon, 17 Feb 1997 09:26:30 -0500
From: Michael George Schwern <stupid+@andrew.cmu.edu>
Subject: 2D hashes to DBMs and CGI question.
Message-Id: <In26eKm00WB_06Jl40@andrew.cmu.edu>

I have a few questions.  

I'm writing a small-scale database program for use on the web in Perl. 
I have a database server which will be running resident with CGI
programs establishing a socket connection to the server, requesting
data/searches and then sending that off to the browser.  

My data is modeled as 2D hashes... a database lookup table (a
hash-of-hashes  $database{uniqueID}{attribute} = value) and an index for
searching (hash-of-hashes-of-lists  @{$database_index{attribute}{value}}
= @list_of_uniqueIDs).  This all works out very well (Order 1 lookups
AND searches are QUITE nice) however, it seems to me it will get to be a
bit of a memory hog, having the entire database in memory all the time. 
I'd like to tie the database to a DBM file, but it seems that I can only
do that with regular hashes.  Is there a (useful) way to tie a 2D hash
(or any other complex Perl structure) to a DBM file?

I suppose I could remodel my data to produce a pair of flat hashes...
($database{uniqueID_attribute} = value and
$database_index{attribute_value} = $deliminated_string_of_uniqueIDs)
without much of a performance loss... but I'm curious (and I don't want
to do the recoding ;) ).  Can you tie a 2D hash to a DBM file?


The other problem is that concerning my client/server setup.  I didn't
want the database to be directly called by the CGI gateway because I
don't like the idea of loading up the whole database for every request. 
I'd rather it stay resident.  So, my current setup has the database
running resident, with CGI programs running as clients (using
socketing).  My question is, is there a way to make a resident program
(my database server) talk to the CGI gateway (ie. be called as a CGI
program)?


BTW This is to run with Netscape Commerce Server.


"If you could imagine anyone obtaining this power of becoming invisible, and
never doing any wrong or touching what was another's he would be thought by
the lookers-on to be a most wretched idiot..."
          Glaucon, Plato's _Republic_ Book II
      auveyron@cmu.edu   stupid@andrew.cmu.edu   schwern@envirolink.org
       Floggo the Stupid aka Milko aka Schwern aka Auveyron aka Dupre
   OpMngr&Mac Wrangler @ EnviroLink   http://www.envirolink.org/home/schwern




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

Date: 17 Feb 1997 14:26:04 GMT
From: sb@sdm.de (Steffen Beyer)
Subject: ANNOUNCE: Date::DateCalc 3.0
Message-Id: <5e9pps$683$1@nadine.teleport.com>

I am glad to announce

========================================
  Package "Date::DateCalc" Version 3.0
========================================

to the Perl community.

I have just uploaded the new distribution ("DateCalc-3.0.tar.gz") to
PAUSE, from where it should propagate to a CPAN ftp site near you in
a matter of a few days (this message was submitted on 16-Feb-1997).


Contents of this message:
-------------------------

    -   What's new?
    -   Legal stuff
    -   Requirements
    -   What does it do
    -   Credits
    -   Where to find
    -   Final note


What's new?
-----------

In version 3.0 of the "Date::DateCalc" module, the convention for unsuccess-
ful return has been changed for all functions which return a LIST of values:
instead of returning zeros in all list items as in previous versions, an
EMPTY LIST is now returned.

Affected functions are:

    +   ($cc,$yy,$mm,$dd) = uncompress($date);

    +   ($year,$mm,$dd) = calc_new_date($year,$mm,$dd,$offset);

    +   ($days,$hh,$mm,$ss) = date_time_difference
        (
            $year1,$month1,$day1,$hh1,$mm1,$ss1,
            $year2,$month2,$day2,$hh2,$mm2,$ss2
        );

    +   ($year,$month,$day,$hh,$mm,$ss) = calc_new_date_time
        (
            $year,$month,$day,$hh,$mm,$ss,
            $days_offset,$hh_offset,$mm_offset,$ss_offset
        );

    +   ($week,$year) = week_number($year,$mm,$dd);

    +   ($year,$mm,$dd) = first_in_week($week,$year);

    +   ($year,$mm,$dd) = decode_date($date);

This way it is now possible to assign the return values to a list of
variables or an array and to test wether the function call was success-
ful at the same time, i.e.:

        if (($year,$mm,$dd) = decode_date($date))
        {
            # do something with the data returned...
        }
        else
        {
            # issue an error message or do something else...
        }

(Note that the "demo" program has been changed accordingly!)

Note also that these changes had deep repercussions into the associated
C library (file "lib_date.c"). The code of the corresponding C functions
has changed significantly in some places, as well as their return values
(from "void" to "boolean").

Moreover, in version 3.0 of the "Date::DateCalc" package, a new module
called "Date::DateCalcLib" has been added which offers some useful date
calculation functions for some special problems like the nth weekday in
a given month and year, calculating a new date with year, month and day
offsets, calculating easter sunday, and more. (See the "Date::DateCalcLib"
man page for more details!)

This module incorporates a couple of functions that previously were loosely
spread over a number of perl script files, i.e., it now contains the func-
tions previously implemented in "demo2" and "demo_us", which now rather use
this module, and the functionality of the "parse_date.pl" script, which has
become obsolete and is gone in this version.

Note that the functions in this module which return lists also follow the
new convention for return values in case of error and return an empty list
if their arguments are illegal. Note further that the programs "demo2" and
"demo_us" have been adapted accordingly.


Legal stuff:
------------

Copyright (c) 1995, 1996, 1997 by Steffen Beyer. All rights reserved.
This package is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.


Requirements:
-------------

Perl version 5.000 or higher, a C compiler capable of the ANSI C standard (!)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


What does it do:
----------------

The package provides a Perl interface to a C library which offers a wide
variety of date calculations based on the Gregorian calendar (the one
used in all western countries today), complying with the ISO/R 2015-1971
and DIN 1355 standards which specify things as what leap years are, when
they occur, how the week numbers are defined, what's the first day of the
week, how many weeks (52 or 53) a given year has, and so on.
 
Although the Gregorian calendar was only adopted 1582 by most (not all)
European countries (some countries continued to use the Julian calendar
until as late as the beginning of the 20th century!), this package allows
you to extrapolate the Gregorian calendar back until the year 1.

This module is not intended to be the most comfortable approach to every
date calculation problem there is, but instead it's meant to be a *minimal*
and *complete* (in the sense of computation theory!) set of tools to solve
any date calculation problem you might ever encounter.

Therefore, the interfaces of these routines are designed for a maximum of
flexibility and a minimum of overhead. Just like the UNIX commands "cat",
"grep" and so on which do very simple tasks but can do many useful jobs
when combined in a cunning way, the routines in this package are intended
to be *elementary*, i.e., indivisible basic functions.

Moreover, the module is mainly written in C so that the C part can be used
as a stand-alone library in other applications than Perl. (!!!)

A library of useful date calculation functions is available for some special
problems like the nth weekday in a given month and year, calculating a new
date with year, month and day offsets, calculating easter sunday, and more.
(See the "Date::DateCalcLib" man page for more details!)

To give you an idea of what the "Date:DateCalc" module can do, here a list
of all the functions it exports:

  $flag = leap($year);
  $flag = check_date($year,$mm,$dd);
  $date = compress($yy,$mm,$dd);
  ($cc,$yy,$mm,$dd) = uncompress($date);
  $flag = check_compressed($date);
  $datestr = compressed_to_short($date);
  $days = calc_days($year,$mm,$dd);
  $weekday = day_of_week($year,$mm,$dd);
  $days = dates_difference($year1,$mm1,$dd1,$year2,$mm2,$dd2);
  ($year,$mm,$dd) = calc_new_date($year,$mm,$dd,$offset);
  ($days,$hh,$mm,$ss) = date_time_difference
  (
      $year1,$month1,$day1,$hh1,$mm1,$ss1,
      $year2,$month2,$day2,$hh2,$mm2,$ss2
  );
  ($year,$month,$day,$hh,$mm,$ss) = calc_new_date_time
  (
      $year,$month,$day,$hh,$mm,$ss,
      $days_offset,$hh_offset,$mm_offset,$ss_offset
  );
  $datestr = date_to_short($year,$mm,$dd);
  $datestr = date_to_string($year,$mm,$dd);
  ($week,$year) = week_number($year,$mm,$dd);
  ($year,$mm,$dd) = first_in_week($week,$year);
  $weeks = weeks_in_year($year);
  $day_name = day_name_tab($weekday);
  $month_name = month_name_tab($month);
  $weekday = decode_day($day_name);
  $month = decode_month($month_name);
  ($year,$mm,$dd) = decode_date($date);
  $days = days_in_month($year,$mm);
  $version = Date::DateCalc::Version();

For more details, see the "Date::DateCalc" man page!


Credits:
--------

Many thanks to Jonas Liljegren <jonas@cultcom.se> for posting a subroutine
for calculating easter monday in news:comp.lang.perl.modules and thereby
triggering my writing of the new "Date::DateCalcLib" module which has been
added in version 3.0 of the "Date::DateCalc" distribution.

Also many thanks to Claus Tondering <c-t@pip.dknet.dk> for his excellent
web pages and FAQ in news:news.answers about calendars and how to calcu-
late easter sunday.

Thanks to Reinhold Stansich <dynaconsult@netway.at> for posting a list
of christian feast days and their offsets from easter sunday in news:
comp.databases.ms-access and to Tammo Schnieder <schniede@hh.sdm.de>
for sending me his posting.

Many thanks to Max Ruffert <mor@mpa-garching.mpg.de> at the Max Planck
Institute for Astrophysics in Garching for looking up Gauss' Rule for
calculating easter sunday (the algorithm which is implemented in the
"Date::DateCalcLib" module) for me and dictating it to me over the
phone!


Where to find:
--------------

At the usual ftp sites for Perl (CPAN = "Comprehensive Perl Archive Network"):

The file

        DateCalc-3.0.tar.gz

can be found in directory

    .../CPAN/authors/id/STBEY/  

or

    .../CPAN/modules/by-category/06_Data_Type_Utilities/Date/

or

    .../CPAN/modules/by-module/Date/

See "The Perl 5 Module List" by Tim Bunce and Andreas Koenig in news:
comp.lang.perl.modules for a list of CPAN ftp servers, or direct your
WWW browser to

http://www.perl.com/CPAN/modules/by-module/Date/DateCalc-3.0.tar.gz

and you will automatically be redirected to a CPAN ftp server near you.


Final note:
-----------

If you need any assistance or have any comments, problems, suggestions,
findings, complaints, questions, insights, compliments or donations to give ;-)
then please don't hesitate to send me a mail:

sb@sdm.de (Steffen Beyer)

In fact I'd be glad if you could drop me an e-mail when you are using this
package, so I can see how much interest exists in it and how much time is
reasonable to spend on its further development.

Therefore, I would also be glad to know what you liked and what you disliked
about this package!

And I would also be very interested to know what your application is in
which you found this package to be useful, just to get an idea what can
all be done with it and in which direction it should be developed further.

Many thanks in advance!!

With kind regards,
--
          _____        _____      .__        
        _/ ____\____ _/ ____\____ |__|______ 
        \   __\\__  \\   __\/    \|  \_  __ \       Steffen Beyer
         |  |   / __ \|  | |   |  \  ||  | \/         sb@sdm.de
         |__|  (____  /__| |___|  /__||__|           sb@en.muc.de
                    \/          \/           




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

Date: 17 Feb 1997 14:25:05 GMT
From: mikedlr@tardis.ed.ac.uk (Michael De La Rue)
Subject: ANNOUNCE: new module Tie::TransactHash - edit hash in transactions
Message-Id: <5e9po1$67j$1@nadine.teleport.com>
Keywords: hash overlay transaction commit edit database dbm dbfile

Tie::TransactHash 0.02 is now being uploaded by CPAN.  It replaces
0.01 which wasn't publically announced and probably had some serious
bugs.  It is a hash class which overlays any other hash (passed as a
reference to the new() function) and allows it to be edited in
transactions.  This provides the following advantages:

	- all or nothing changes

	- the hash stays in order during the edit - changes can be made
	  to elements in the hash whilst going through them all with each()

	- the time during which the hash could be corrupted is limited
	  to the time that the commit function is running.

The module works by storing changes in a Tie-IxHash (patch included -
I've had no response from GSAR about it yet though).  The interface is
as normal for a hash except that the object also has the methods

	$h->commit()
	$h->reset() #alias to rollback also
	$h->autostore(T/F)
	$h->verify_write()

commit() stores all of the changes made to the overlayed TransactHash
into the underlying hash.  

reset() makes the overlayed hash forget all changes and return to
looking the same as the underlying hash.

autostore() sets whether the TransactHash should automatically call a
commit if it is destroyed (e.g. at program exit).  

           ******** BEGIN WARNING FOR PERL 5.003 **********
With perl5.003, the destructors didn't seem to be called properly at
program exit, and the Hash had to be deleted explicitly.  This is no
longer true with perl 5.003_25 so should be okay when perl 5.004 is
released.  In the meantime use a sequence like the quit command in the
example program if you want an automatic commit when the hash is
DESTROYed
           ********  END WARNING FOR PERL 5.003  **********

verify_write() should compare the values in the underlying hash after
a commit with the changes and check that everything is as should be.
It's not been tested properly though.  Tell me if you care about this;
it will mainly check for internal consistency (of the TransactHash
module) because, without a proper transaction log, it's never possible
to guarantee that writes will be safe.

Included is an example program that allows the direct editing of the
contents of any Berkley DB file.  I use this for debugging programs by
checking that the dbm contains the right values and by changing values
within dbms to see what effect they have.

There is a set of tests for the module, but at present they don't
actually write to a database (they use a normal in memory perl hash).
They should cover most of the functionality though.

Comments and contributions (especially bug fixes) appreciated as ever.

	Michael De La Rue

-- 

            <http://www.tardis.ed.ac.uk/~mikedlr/biography.html>
  Scottish Climbing Archive: <http://www.tardis.ed.ac.uk/~mikedlr/climbing/>
Linux/Unix clone@ftp://src.doc.ic.ac.uk/packages/linux/sunsite.unc-mirror/docs/




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

Date: 17 Feb 1997 14:26:26 GMT
From: Russ Allbery <rra@cs.stanford.edu>
Subject: ANNOUNCE: Term::ANSIColor 0.09 available
Message-Id: <5e9pqi$68a$1@nadine.teleport.com>

Term::ANSIColor 0.09 has been uploaded to PAUSE and should be available
from CPAN shortly.  From the README:

  While ANSI color escape codes are fairly simple, it can be hard to
  remember the codes for all of the attributes and the code resulting from
  hard-coding them into your script is definitely difficult to read.  This
  module is designed to fix those problems, as well as provide a
  convenient interface to do a few things for you automatically (like
  resetting attributes after the text you print out so that you don't
  accidentally leave attributes set).

  Despite its name, this module can also handle non-color ANSI text
  attributes (bold, underline, reverse video, and blink).  It exports
  either of two interfaces, one of which uses "constants" for each
  different attribute and the other of which uses two subs that take
  strings of attributes as arguments.

Although this should be considered a beta release, the module is fairly
straightforward and relatively well-tested; I don't anticipate it changing
much, if at all.

Comments, suggestions, and bug reports are welcome.

-- 
Russ Allbery (rra@cs.stanford.edu)      <URL:http://www.eyrie.org/~eagle/>




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

Date: Mon, 17 Feb 1997 13:04:58 GMT
From: "Paul Sanders" <pauls@silverplatter.com>
Subject: Boundary not provided errors - HELP!!!!!!!!!!
Message-Id: <01bc1cd3$47b06130$3d7182c1@pauls>

I'm running Perl 5 on a SCO UNIX box and I get the following error message
when I run a simple perl script via Netscape 3.0 but (strangely) not when I
use
Microsoft Explorer 3.01:

Boundary not provided: probably a bug in your server

Boundary not provided: probably a bug in your server
at /usr/local/lib/perl5/cgi-lib.pl line 413. 

Both the HTML and the perl scripts are attached.

Is this really a server bug or is it my script/html?

Regards...Jason
begin 600 logon.pl
M(R$O=7-R+VQO8V%L+V)I;B]P97)L("TM("TJ+7!E<FPM*BT-"@T*(R M+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2T-"B,@;&]G;VXN<&P@8GD@2F%S;VX@4F]B97)T<PT*(PT*
M(R!,87-T('5P9&%T960Z(#$T=&@@1F5B(#DW#0HC#0HC( T*(R M+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2T-"G)E<75I<F4@(F-G:2UL:6(N<&PB.PT*)E)E861087)S92@J
M:6YP=70I.PT*"0D)"2 @#0IP<FEN=" \/$5/1CL-"D-O;G1E;G0M='EP93H@
M=&5X="]H=&UL#0H\(41/0U194$4@2%1-3"!054),24,@(BTO+U<S0R\O1%1$
M($A434P@,RXR+R]%3B(^#0H-"CQH=&UL/@T*#0H\:&5A9#X-"CQ4251,13Y7
M96QC;VUE(%1O(%-E<G9E<B!!9&UI;CPO5$E43$4^#0H\+TA%040^#0H-"CQ&
M4D%-15-%5"!23U=3/2(Q-# L*B(@1E)!345"3U)$15(](C B($9204U%4U!!
M0TE.1STB,"(@0D]21$52/2(P(CX-"CQ&4D%-12!30U)/3$Q)3D<](FYO(B!.
M04U%/2),3T=/(B!34D,](FAT=' Z+R]W=W<N;&]N9&]N+G-I;'9E<G!L871T
M97(N8V]M+VIR+VQO9V\N:'1M;"(^#0H\1E)!3453150@0T],4STB,3 P+"HB
M/@T*/$9204U%(%-#4D],3$E.1STB875T;R(@3D%-13TB4TE$14)!4B(@4U)#
M/2)H='1P.B\O=W=W+FQO;F1O;BYS:6QV97)P;&%T=&5R+F-O;2]J<B]S:61E
M8F%R+FAT;6PB/@T*/$9204U%(%-#4D],3$E.1STB875T;R(@3D%-13TB0T].
M5$5.5"(@4U)#/2)H='1P.B\O=W=W+FQO;F1O;BYS:6QV97)P;&%T=&5R+F-O
M;2]J<B]H;VUE<&%G92YH=&UL(CX-"CPO1E)!3453150^#0H\+T9204U%4T54
M/@T*#0H\3D]&4D%-15,^#0H\0DQ/0TM154]413X-"DET(&%P<&5A<G,@>6]U
M<B!B<F]W<V5R(&1O97,@;F]T(&QI:V4@9G)A;65S+B!0;&5A<V4@8V]N=&%C
M="!Y;W5R('-Y<W1E;2!A9&UI;FES=')A=&]R+B!9;W4@;F5E9"!A(&9R86UE
M+65N86)L960@8G)O=W-E<BX-"CPO0DQ/0TM154]413X-"@T*/"].3T9204U%
M4SX-"CPO2%1-3#X-"@T*14]&#0IE>&ET('1R=64[#0H-"@T*#0H-"@T*#0H-
'"@T*#0H-"E1-
`
end

begin 600 index.html
M/"%$3T-465!%($A434P@4%5"3$E#("(M+R])151&+R]$5$0@2%1-3"\O14XB
M/@H*/&AT;6P^"@H\:&5A9#X*/'1I=&QE/E-E<G9E<B!!9&UI;FES=')A=&EO
M;CPO=&ET;&4^"CQM971A(&YA;64](D=%3D52051/4B(@8V]N=&5N=#TB36EC
M<F]S;V9T($9R;VYT4&%G92 Q+C$B/@H\+VAE860^"CQ30U))4%0@3$%.1U5!
M1T4@/2 B2F%V85-C<FEP="(^"F9U;F-T:6]N(&9O<FU#:&5C:R@I( I["B @
M(" @(" @:68@*&1O8W5M96YT+G1H969O<FTN=7-E<BYV86QU92 ]/2 B(BD@
M"B @(" @(" @>PH@(" @(" @(&%L97)T*")0;&5A<V4@<'5T(&EN(&$@;F%M
M92XB*3L*(" @(" @("!R971U<FX@9F%L<V4["B @(" @(" @?0H*(" @(" @
M("!I9B H9&]C=6UE;G0N=&AE9F]R;2YP=V]R9"YV86QU92 ]/2 B(BD@"B @
M(" @(" @>PH@(" @(" @(&%L97)T*")0;&5A<V4@<'5T(&EN(&$@<&%S<W=O
M<F0N(BD["B @(" @(" @<F5T=7)N(&9A;'-E.PH@(" @(" @('T*?0H\+U-#
M4DE05#X*"CQT:71L93Y397)V97(@061M:6YI<W1R871I;VX\+W1I=&QE/@H\
M;65T82!N86UE/2)'14Y%4D%43U(B(&-O;G1E;G0](DUI8W)O<V]F="!&<F]N
M=%!A9V4@,2XQ(CX*/"]H96%D/@H*/$9/4DT*($Y!344@/2 B=&AE9F]R;2(*
M($%#5$E/3B ]("(O8V=I+6)I;B]L;V=O;BYP;"(@"B!-151(3T0@/2 B4$]3
M5"(*($5.0U194$4@/2 B;75L=&EP87)T+V9O<FTM9&%T82(*(&]N4W5B;6ET
M(#T@(G)E='5R;B!F;W)M0VAE8VLH*2(^"@H\8F]D>2!B86-K9W)O=6YD/2)M
M86EN<&%G92UB86-K9')O<"YG:68B/@H*"CQH,2!A;&EG;CUC96YT97(^4V5R
M=F5R($%D;6EN:7-T<F%T:6]N/"]H,3X*/&1I=B!A;&EG;CUC96YT97(^/&-E
M;G1E<CX*/'1A8FQE(&)O<F1E<CTQ/@H\='(^/'1H/E-E<G9E<CPO=&@^/'1D
M(&%L:6=N/6-E;G1E<CX\<V5L96-T(&YA;64](FAO<W0B('-I>F4],3X*/&]P
M=&EO;B!V86QU93TB:&]L;&EE(CY(;VQL:64\+V]P=&EO;CX*/&]P=&EO;B!V
M86QU93TB<VMU='1E<C,B/E-0)%-K=71T97(S("T@15),(#(N,&(Q(%-E<G9E
M<CPO;W!T:6]N/@H\;W!T:6]N('9A;'5E/2(Q.30N-#<N,3,X+C0Y(CY34"0U
M.3DW."TP,#$M,#$@+2!3;V9T0V5N=&5R,3PO;W!T:6]N/@H\;W!T:6]N('9A
M;'5E/2)A<F,N=6-L+F%C+G5K(CY34"0P-# Y-"TP,#$M,#(@+2!!8V%D96UI
M8R!2969E<F5N8V4@0V5N=')E($ @54-,/"]O<'1I;VX^"CQO<'1I;VX@=F%L
M=64](F-O;7!A8W0M9&%T82(^4U D,#$W-C@M,# R+3 Q("T@0V]M<&%C="U$
M871A+4523#PO;W!T:6]N/@H\;W!T:6]N('9A;'5E/2)E<FPS+G-I;'9E<G!L
M871T97(N8V]M(CY34"134"UB;W-T;VXS("T@4VEL=F5R4&QA='1E<B M($)O
M<W1O;B!%4DP@,SPO;W!T:6]N/@H\;W!T:6]N('9A;'5E/2)E<FPN;W@N86,N
M=6LB/E-0)# S-S0R+3 P,2TP,2 M($)O9&QE:6%N($QI8G)A<GD@15),(%-E
M<G9E<CPO;W!T:6]N/@H\;W!T:6]N('9A;'5E/2)E<FPN;&EB+FEC+F%C+G5K
M(CY34"1E<FQS97)V97(@+2!%4DP@4V5R=F5R(&9O<B!,:6)R87)Y/"]O<'1I
M;VX^"CQO<'1I;VX@=F%L=64](G1O;&]M96\N8VES:2YU;FEG92YI="(^4U D
M,#@W.3$M,#$Y+3 Q("T@4V5R=F5R($-3251!/"]O<'1I;VX^"CPO<V5L96-T
M/B \+W1D/CPO='(^"CQT<CX\=&@^57-E<FYA;64\+W1H/CQT9"!A;&EG;CUC
M96YT97(^/&EN<'5T('1Y<&4]=&5X="!S:7IE/3(P(&UA>&QE;F=T:#TR-38@
M;F%M93TB=7-E<B(^/"]T9#X\+W1R/@H\='(^/'1H/E!A<W-W;W)D/"]T:#X\
M=&0@86QI9VX]8V5N=&5R/CQI;G!U="!T>7!E/7!A<W-W;W)D('-I>F4],C @
M;6%X;&5N9W1H/3(U-B!N86UE/2)P=V]R9"(@5$0^(#PO=&0^/"]T<CX*/'1R
M/CQT9"!A;&EG;CUR:6=H="!C;VQS<&%N/3(^/&EN<'5T('1Y<&4]<W5B;6ET
M('9A;'5E/2),;V=I;B(^/"]T9#X\+W1R/@H\+W1A8FQE/@H\+V-E;G1E<CX\
?+V1I=CX*/"]F;W)M/@H\+V)O9'D^"@H\+VAT;6P^"FQE
`
end



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

Date: Mon, 17 Feb 1997 15:18:25 +0500
From: akench@cvimail.cv.com
Subject: Debugging in Perl ...
Message-Id: <199702171018.PAA07174@bandar.CV.COM>

Hi Perl Gurus,

I am trying to debug a script which is executed when
a particular button in GUI is pressed. The first line of
that script is
#! /public/cvi-tools/bin/perl -d -w
The problem is the debugger doesn't pause for any
command. It continues as if a 'n' is typed.
I am able to run the script in deug mode
at the shell prompt but not through the gui.
Can u tell me what might be going on?
I tried setting the debugger options
in ~/.perldb file too. 
Don't know if it can be a problem of the gui...

thanks and regards,

-Atul Kench
(akench@cvimail.cv.com)



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

Date: Mon, 17 Feb 1997 14:07:25 GMT
From: dburbury@vision.net.au (Douglas Burbury)
Subject: Getting back successful matches using the g option
Message-Id: <5e9l3k$ncs@pandora.vision.net.au>

When doing pattern matches, the successful matches are stored in the
special variables $1, $2, $3, etc. That's easy enough.

But what happens when the g option is used and multiple instances of
the search pattern are successfully found and replaced? Is there any
way to retrieve every single substring that is actually matched?

Douglas Burbury

E-mail:  dburbury@vision.net.au
http://www.vision.net.au/~dburbury/burbury.htm	(Burbury family page)
http://www.vision.net.au/~dburbury/server.htm	(Fax server system)



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

Date: 17 Feb 1997 14:32:46 GMT
From: dave@fast.thomases.com (Dave Thomas)
Subject: Re: Getting back successful matches using the g option
Message-Id: <slrn5ggqr9.1mt.dave@fast.thomases.com>

On Mon, 17 Feb 1997 14:07:25 GMT, Douglas Burbury <dburbury@vision.net.au> wrote:

> But what happens when the g option is used and multiple instances of
> the search pattern are successfully found and replaced? Is there any
> way to retrieve every single substring that is actually matched?

In a list context, m// returns every matched subexpression in parentheses.
So:

  @l = ("a12b23a34" =~ m/a(.)(.)/g);
  print join (', ', @l), "\n";
  
prints "1, 2, 3, 4"

However, it is possible for more complex regular expressions to generate
different numbers of sub-expression matches each time around, so parsing the
resulting list may be difficult. In that case, you may want to considered
running m// in a loop instead - that way you'll get more context information
for each match:

   while (m/stuff/g) {
      # loop executes once for each match
      # with $1 etc set
   }
   
Dave



-- 

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


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

Date: 17 Feb 1997 13:05:09 GMT
From: gswang@adam.hl.siemens.de (Guo Sheng Wang EZM AP4)
Subject: HELP - perl talk to c via socket
Message-Id: <5e9l25$mf4@rudi>

Hi, there,

I'm using following piece of code to talk to a C server
program which is tested by a C client, but it does not
work. Could some advise me about it? Thanks.

======================================================

my $remote = shift || 'mars';
my $port = shift || 4567;
my( $iaddr, $paddr, $proto, $line );

if( $port =~ /\D/ ) {
		$port = getservbyname($port,'tcp');
}
		die "No port" unless $port;
		$iaddr = inet_aton($remote);
		$paddr = sockaddr_in($port, $iaddr);

		$proto = getprotobyname( 'tcp' );
		socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
		connect(SOCK, $paddr) || die "connect:$!";

		printf SOCK "start\n";
		printf SOCK "start\n";
}

======================================================
Note:
	* on server side it also set to be PF_INET domain.
	* on server side: I'm using read(sock, buf, BUFSIZE) to read.
	* we are using Perl 5.003_05
	* both C & perl programs run two ultra sparc with Solaris 2.5.1

-gswang


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

Date: 17 Feb 1997 07:33:40 -0700
From: Randal Schwartz <merlyn@stonehenge.com>
To: donahue@acf2.nyu.edu (Adam M. Donahue)
Subject: Re: HOW TO SPLIT A SIMPLE STRING
Message-Id: <8c7mk7tscb.fsf@gadget.cscaper.com>

>>>>> "Adam" == Adam M Donahue <donahue@acf2.nyu.edu> writes:

Adam> Hi!
Adam> OK, how does one accomplish this?  I have a a six character string,
Adam> say 012345, that I want to split into three variables, $one, $two, $three
Adam> that would then have 01, 23, 45.  The original string has no
Adam> delimiters, though.
  
Adam> What's the best way to do this?  It seems like an easy task, but I can't
Adam> figure it out.

Adam> ($one, $two, $three) = split (/ ????? /, $original);

	($one,$two,$three) = unpack "A2A2A2", $original;

Adam> What's the expression?

I think the expression is "Thank you." :-)

print "Just another Perl hacker," # but not what the media calls "hacker!" :-)
## legal fund: $20,495.69 collected, $182,159.85 spent; just 561 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: Mon, 17 Feb 1997 14:21:42 +0000
From: Mazda Hewitt <Mazda.Hewitt@bbsrc.ac.uk>
Subject: Interesting problem.
Message-Id: <33086976.794B@bbsrc.ac.uk>

Hi All.

This isn't really a perl problem, but hey I program in perl and there
are lots of clever people lurking around here.

OK, I'll see how clear I can make it.

I have a line, lets call it the Y axis, from the Y axis I have many
labels.  You know the kind that has a line from the point on the Y axis
to the label.  This means that if there are many labels for the same
spot, but they can be far from the actual spot on the Y axis but the
line will still connect them.

|
|
|-----Label 1
|\
| \
|  \
|   Label2


if I have a rectangle defining the bounds of the label I can test to see
if the labels overlap. defined like a JAVA rectangle X, Y, Height,
Width. where x and y are the coordinates of the top left hand corner of
the rectangle.

The way that I have it at the moment is I have label objects that know
about their rectangle and the poition where the line should go onto the
Y axis.  I store all of these objects in a array of references to the
object instances.  Then we take the first label object and move it
downwards until it no longer overlaps any other label. Of course the
line still points in the right place.  This is slow because we have to
test the moving label against every other label after each move to see
if we are overlapping or not. This leaves the labels separate, but the
lines may cross, so I have to move each label upwards swapping with the
labels above it until I reach the correct position.  To do this I have
to move the label upwards and then test each other label for an overlap,
if the label that it's overlapping should be below it thet they swap
positions.  This is also too slow.

To confound it all I have to be able to zoom the Y axis on the screen,
so one unit on the Y axis changes from 5 pixels to 10 pixel.  Since the
labels have a set height in pixels that will mean that there is more
room between them and the label can move closer to it supposed position.

I hope that makes sence at all..

Mazda Hewitt


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

Date: Mon, 17 Feb 1997 11:35:08 GMT
From: adelton@fi.muni.cz (Honza Pazdziora)
Subject: Re: IPC::Open2 difficult using.
Message-Id: <adelton.856179308@aisa.fi.muni.cz>

dianam@cogs.susx.ac.uk (Diana McCarthy) writes:
> I want to send and data to and from a process. I understand that IPC::Open2
> should allow me to do that and I believe the command I want to use works just
> like "bc" - i.e. sends and receives a line at a time. I cannot get my code to
> work with "bc" never mind with my command. I think it may be my lack of
> understanding of how to create the file handles before the open2 call. If
> anyone can see what I am doing wrong I would be very grateful for any
> guidance. My  code and  program output is given below:
> 
> Thanks for your  time
> Diana
> 
> #!/local/perl5/bin/perl
> use IPC::Open2;
> $pid = open2(\*IN, \*OUT, "bc");
> 
> print IN "5";
> @result = <OUT>;
> print "the result is @result\n";
> close(OUT);
> close(IN);
> 
> When I run this I get:
> "the result is"

There are three things:

1. bc expects the command to be finished with a new line: "5\n";
2. the result you are waiting for may be buffered, so you better close
   the output filehandle before reading the result;
3. input is not output and vice versa -- you have to write to OUT and
   read from IN.

This version of your script works for me:

use IPC::Open2;
$pid = open2(\*IN, \*OUT, "bc");
print OUT "5+5\n";
close(OUT);
$result = <IN>;
print "the result is $result\n";
close(IN);
__END__
the result is 10

Hope this helps.

--
------------------------------------------------------------------------
 Honza Pazdziora | adelton@fi.muni.cz | http://www.fi.muni.cz/~adelton/
                   I can take or leave it if I please
------------------------------------------------------------------------


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

Date: 17 Feb 1997 12:42:19 GMT
From: gml4410@ggr.co.uk (Lack Mr G M)
Subject: Re: IPC::Open2 difficult using.
Message-Id: <5e9jnb$5q2@ukwsv3.ggr.co.uk>

In article <5e9ak5$fn6@infa.central.susx.ac.uk>, dianam@cogs.susx.ac.uk (Diana McCarthy) writes:
|> 
|> I want to send and data to and from a process. I understand that IPC::Open2
|> should allow me to do that and I believe the command I want to use works just
|> like "bc" - i.e. sends and receives a line at a time. I cannot get my code to
|> work with "bc" never mind with my command. I think it may be my lack of
|> understanding of how to create the file handles before the open2 call. If
|> anyone can see what I am doing wrong I would be very grateful for any
|> guidance. My  code and  program output is given below:
|>...
|> #!/local/perl5/bin/perl
|> use IPC::Open2;
|> $pid = open2(\*IN, \*OUT, "bc");
|> 
|> print IN "5";

   You need to sen a line terminator....

   Try:

print IN "5\n";


  (From  one  who  has  had  fun  over  the last few days on getting a 7
process chain with intervening network calls working in  a  line-buffere
manner....). 


-- 
----------- Gordon Lack ----------------- gml4410@ggr.co.uk  ------------
The contents of this message *may* reflect my personal opinion.  They are
*not* intended to reflect those of my employer, or anyone else.


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

Date: Mon, 17 Feb 1997 07:22:25 -0600
From: tadmc@flash.net (Tad McClellan)
Subject: Re: Need help for 2 easy PERL questions, please
Message-Id: <h2m9e5.dv.ln@localhost>

Neb (berube@odyssee.net) wrote:
: Hi there PERL programmers !

Hi.


: I need your help for 2 PERL questions.  Maybe these questions will seem
                       ^^^^^^^^^^^^^^^^

The first one isn't a Perl question. We all already like perl, you
don't need to shout it at us ;-)

Perl is used to refer the the Perl programming language. 

perl is used to refer the the perl interpreter/compiler. 

PERL! is used for the answer to any question of the form:

   What language should I use to ...?       ;-)



The second one is actually two questions. The first subquestion is
a Perl question, the second is a WWW question.


Being able to tell what kind of question it is that you have will go
a long way toward being able to answer your own question in just a
few minutes. That's often difficult to do, I know. But you should try.



: really easy to answer for you, so help me answer them !

: Here's the first question.  Using a CGI-perl script based on the
: "cgi-lib.pl", I want to send an email.  I CAN send the email.  Here's how 
: I
: do it :

: ---code starts here---
:     $command="mail     berube\@odyssee.net     <     $name_of_file";
                ^^^^

This is a 'mail' problem. 

'man mail' likely tells you how to get a subject.

try running the above $command from the command line. My guess is that
_it too_ has no Subject. Right?

If so, then that indicates that it is not a Perl problem.


:     system($command);
: ---code ends here---

: [where "name_of_file" is the file that contains the body message for the
: email]
: When I do this, it sends a email to my email address no-problemo.  The
: problem is the following : the email doesn't have a "subject".  So, when 
: I
: check my mail, I receive an email with no subject.  This ain't no good at
: all.  I tried to include the line:
: Subject: This is the subject !
: in the body of the message.  It does only put the subject in the body of
: the message and doesn't help much more.  So, how can I give a SUBJECT to
: the email ???

: The next question is even easier.  How can a script call an other script 
: or
: www page with a function ?  Like, suppose I got a HTML form that call

part1: "script call an other script" (sic)
part2: 'call a www page'

-----
part1
-----

It depends on how you want to use it. The three usual approaches are
explained in the Perl FAQ #5.15:

-----------
5.15) How can I capture STDERR from an external command?

    There are three basic ways of running external commands:

        system $cmd;
        $output = `$cmd`;
        open (PIPE, "cmd |");

    [ snip explanation of each ]
-----------


-----
part2
-----
You can't really _call_ a www page. WWW pages aren't executable. I'm
not sure what you mean. But I bet if you asked this in a WWW newsgroup
such as one of the comp.infosystems.www.authoring.* groups, someone
there might tell you to read about the Location: header. (so go to
http://www.dejanews.com and search for that in those newsgroups).



: SCRIPT_1.  SCRIPT_1 loads, do a little something (let's suppose it write 
: a
: file) and then it must call an other script called SCRIPT_2.  So, the
: question is : how can I do that, so that when I use the HTML form, it 
: goes
: from SCRIPT_1 --> SCRIPT_2 without me noticing it ???

: Thanx for the help !!  I my questions are not clear enough for you to
: answer, write me so I can explain you better.  Thank you !!!


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


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

Date: Sun, 16 Feb 97 20:50:37 GMT
From: dale@hardlight.com.au (Dale Drechsler)
Subject: PERL CGI problem, writing files
Message-Id: <5e92c4$sgg@news.sa.iinet.net.au>

Hello all,  

I have the following script being called froma form
----starts here ------
#!/usr/bin/perl 
push(@INC,"/cgi-bin");
require("cgi_lib.pl");
&ReadParse(*input);
dbmopen(%counters,"/home/web/users/hard/web/counters/counter",0666);
if (!(defined($counters{'my_counter'})))
{
    $counters{'my_counter'} = 0;
}

$counters{'my_counter'}++;
$count = $counters{'my_counter'};
dbmclose(%counters);


print &PrintHeader;



print<<"print_tag";

<html>
<head>
<title> prayer 2</title>
this hopefully will print the counter
</head>
<body>
here it is $count</body>
</html>
print_tag

---- ends here--------------

Basically just a simple counter. I can get this to work from the command line, 
eg perl test.pl.  But now when It runs from a CGI call.  If I take out the 
reference to the DBM file it returns ok, if not the all I get is a server 
error.  Is it something to do with locations of files your allowed to write to 
and or write permissions?  How do I know where to point the path to?

thanks for any help, Its been a struggle. ;)



Dale Drechsler


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

Date: Mon, 17 Feb 1997 14:16:31 +0100
From: Steinar Moen <stemo@powersim.no>
Subject: Perl on NT Server 4.0 (IT'S WORKING)
Message-Id: <33085A2F.14DE@powersim.no>

Thank you, Duncan Harris, Adam Richards, Ben Mehling, and all other
people who helped me making Perl work on my Microsoft IIS server!

What did I do (wrong)?
I installed ftp://9190.steinan.ntnu.no/nyttige_program/perl32.zip
I made a virtual directory cgi-bin, with Execute-rights.
I gave execute rights to the directory containing perl.exe, for
my internet user, related to in IIS.

Now perl worked, but I got a "Save as..." when perl sent HTML-code back
to the browser.

Ben fixed this problem. (See 2. previous text)
The first printout must be
print "HTTP/1.0 200 OK\nContent-type: text/html\n\n";

(First time, I forgot the semicolon at end of line, so please ignore the
previous text)

Kind regards, Steinar Moen


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

Date: Mon, 17 Feb 1997 09:29:50 -0500
From: _decaym@ix.netcom.com (Delbert Matlock)
Subject: Re: Searching for Perl-supported Linux database
Message-Id: <33096af9.85527823@nntp.ix.netcom.com>

Marten Mickos <marten.mickos@solidtech.com> wrote:

>Chris Schoenfeld wrote:
>> 
>> I'm in the market for a database with the following features:
>> 
>> 1. Native Linux and Spac Solaris support (i.e. share binary db's).
>> 2. A thoroughly tested Perl 5 module interface.
>> 3. Speedy, for CGI work.
>> 4. Either commercial or well-supported PD.
>> 5. Native file/record locking.
>> 
>Try out SOLID Server at
>http://www.solidtech.com
>
>Runs on Linux, Solaris, and more.
>Perl info at
>http://www.solidtech.com/market/products/web/3rdparty.htm
>Fast.
>Commercial.

If you want a free database, take a look at PostgreSQL.  Information
is available at http://www.postgresql.org/

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Remove the '_' from my e-mail address for replys
(Anti-SPAM protection)


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

Date: 17 Feb 1997 14:22:11 GMT
From: Richard Arnesen <rdarnese@nortel.ca>
Subject: Re: Socket Programming Question
Message-Id: <5e9pij$8nh@nrtphc11.bnr.ca>

Drew Linsalata <dlinsalata@equinox.net> had nothing better to do and thus wrote:
: > Actually it was a generic "how do I read from the socket after
: > I send the request question".  Anyway I got my answer from
: > another poster.  Thanks though.


: And that was ? ...

: I could use that info myself, if you still have the post.

: Thanks in advance.

Should have reposted the fix, sorry :).

I was having problems reading back from an open socket.
What I had forgotten to do was to unbuffer the socket via..

$oldfh = select(SOCK);
$| = 1;
select($oldfh);

HTH

: Drew

-- 
Richard D. Arnesen Jr.              "Bill Clinton's Promises have the
Unix DCA Support, Nortel            lifespan of a Big Mac on AirForce
The opinions expressed are MINE     One" - Rep. Susan Molinari
no else can have them               Romans 6:23, 1Cor 4-8, John 3:16


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

Date: Fri, 14 Feb 1997 17:59:03 -0500
From: fl_aggie@hotmail.com (I R A Aggie)
Subject: The -w flag and modules
Message-Id: <fl_aggie-ya02408000R1402971759030001@news.fsu.edu>

I'm using the File::Copy module to copy some files around. When I turn
on the warnings with the -w option, I get the followin message:

Use of uninitialized value at /usr/freeware/lib/perl5/File/Copy.pm line 79.
[which happens to be:     $\ = $recsep;]

Is this something I should be concerned about? do I have an out-of-date 
version of File::Copy (I have 1.5)? this is the SGI pre-compiled perl 
v5.002 freebie.

Eventually, this program will become a 'bot, so I don't want cron to fill 
my mailbox with output. I could just eliminate the -w flag, but is that 
necessarily wise?

James

-- 
Consulting Minster for Consultants, DNRC

To cure your perl CGI problems, please look at:
<url:http://www.perl.com/perl/faq/idiots-guide.html>


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

Date: 17 Feb 1997 07:35:31 GMT
From: Dave Hammen <hammen@gothamcity.jsc.nasa.gov>
Subject: Re: Why is this an uncaught exception?
Message-Id: <5e91o3$58@cisu2.jsc.nasa.gov>

[posted and mailed]

Charles Herold, cherold@pathfinder.com writes:
>I want to abort if there are less than three arguments on the command
>line.  The code below does that, but gives me the message:
>>
>Uncaught exception from user code:
>        Usage: change <search_string> <replace_string> <filename>
>
>Here's the code in question.  What's wrong with it?
>
>#!/usr/local/bin/perl5 -w
>use diagnostics;
>
>die "Usage: change <search_string> <replace_string> <filename>\n" unless
>@ARGV >= 3;


Nothing is wrong with the code. Its doing exactly what you told it
to do. The message comes from the diagnostics package.

$ perl -e 'die "More arguments!\n" unless @ARGV >= 3'
More arguments!
$ perl -Mdiagnostics -e 'die "More arguments!\n" unless @ARGV >= 3'
Uncaught exception from user code:
        More arguments!
$

If you don't want that added verbosity don't use 'use diagnostics'.

-- 
Dave Hammen / LinCom Corporation


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

Date: Mon, 17 Feb 1997 09:10:04 -0500
From: Sameh R Boutros <boutros+@andrew.cmu.edu>
Subject: Win32::Spawn problem
Message-Id: <Qn26Owe00iV6M1_oVt@andrew.cmu.edu>

i've been trying to use the Win32::Spawn for quite a bit now....
 
here is the code....
 
$make = "C:\\fax\\make\\2fax.exe";
$args = "C:\\fax\\out\\out.txt C:\\fax\\out\\out.fax";
use Win32;
Win32::Spawn($make, $args, $pid);
print ("<P>" . $make . "<P>" . $pid);
 
 
it launches the 2fax.exe but the 2fax.exe does not do as it is supposed
to....
 
when i run 2fax.exe from a prompt with the above params it runs fine?
 
can you help?
 
thank you very much!
 
Sam Boutros


-sam 


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

Date: 8 Jan 97 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 8 Jan 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.

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 V7 Issue 963
*************************************

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