[7755] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 1380 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Nov 27 20:07:28 1997

Date: Thu, 27 Nov 97 17:00:22 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Thu, 27 Nov 1997     Volume: 8 Number: 1380

Today's topics:
     Re: $( and $( - dont work as advertised??? (Marek Rouchal)
     Re: $x.xx in PERL (brian d foy)
     building cpan modules on win32          <abiogen@abiogenesis.com>
     Re: Can't 'make' modules.  "bash: make: command not fou (Brandon S. Allbery KF8NH; to reply, change "void" to "kf8nh")
     deleting a line in an ascii file <asmat@cad.strath.ac.uk>
     Re: Finding the longest common prefix over a list of st (Abigail)
     Re: For the pro's ? repost: Leaving HTML tags alone (Abigail)
     Re: For the pro's ? repost: Leaving HTML tags alone (Patrick)
     Re: How to directly call a POST method (brian d foy)
     how to do dos command inside perl (in nt) <reya@wni.com>
     Re: how to invoke sendmail for mailing list? <sjohnson@twisted.napanet.net>
     Re: How To Test if number is ODD or EVEN? <rjk@coos.dartmouth.edu>
     New Module List Posted (Andreas Koenig)
     Re: Newbie question.   Do you recommend moving from C? <jfarrell@mincom.com>
     Re: Newbie question.   Do you recommend moving from C? <ejensen@nospam.visi.com>
     Re: PERL Hourly Rates (Toutatis)
     Re: PERL Hourly Rates <rets@meta3.com>
     Re: PERL Hourly Rates <flavell@mail.cern.ch>
     reading a remote site's html? <jgerdes@prismrsc.com>
     Re: tail -f cmd (again) <914398N@knotes.kodak.com>
     TK port for win32????????/ <jon.tracey@earthling.net>
     Re: truncating a string (brian d foy)
     Digest Administrivia (Last modified: 8 Mar 97) (Perl-Users-Digest Admin)

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

Date: 27 Nov 1997 10:24:30 +0100
From: Marek.Rouchal@-nospam-hl.siemens.de (Marek Rouchal)
Subject: Re: $( and $( - dont work as advertised???
Message-Id: <65je8e$oq9@buffalo.HL.Siemens.DE>

In article <347B8E93.5B1A@ixlabs.com>, Chris Schoenfeld <chris@ixlabs.com> writes:
> The Perl 5 Desktop Reference define $) and $( as
> the effective and real GID's of the current process, respectively.
> 
> In my usage on Solaris and Linux, however, I get a list of GID's the
> current user belongs to!
> 
> On which systems are these variables set as documented, and how can
> you *really* get the GIDs of the current process?

The *first* number is the current GID or EGID, for $( and $), respectively,
the other entries are the groups the user is member of. You may want to use
sth like

my $gid = (split /\s+/,$( )[0];

OTOH, I did not succeed to *set* a new group by assigning GIDs to $( or $).
Any ideas how to accomplish that?

Regards,

Marek

PS. If you want to reply by Email, please remove -nospam- from the address.
    Thank you.


-- 
  Marek Rouchal                   Phone : +49 89/636-25849
     SIEMENS AG, HL CAD SYS       Fax   : +49 89/636-23650
     Balanstr. 73                 mailto:Marek.Rouchal@-nospam-hl.siemens.de
     81541 Muenchen               PCmail:Marek.Rouchal.PC@-nospam-hl.siemens.de


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

Date: Thu, 27 Nov 1997 04:36:23 -0500
From: comdog@computerdog.com (brian d foy)
Subject: Re: $x.xx in PERL
Message-Id: <65jehm$116@bgtnsc03.worldnet.att.net>

In article <Pine.GSO.3.96.971127003832.1479A-100000@dclsn23.ews.uiuc.edu>,
perrella andrew c <perrella@dclsn23.ews.uiuc.edu> wrote:


>         It is not uncommon for tax to be 2.3456785 or something like that.
> I would like to be able to make that number 2.35 or if nothing else just
> cut it off at 2 places without rounding.

take a look at the sprintf() function.  i think there are some examples
in the FAQ [1].

good luck :)


[1] <URL:http://www.perl.com>

-- 
brian d foy                                 <http://computerdog.com>
#!/usr/bin/perl
$_=q|osyrNewkecnaYhe.mlorsePptMskurj|;s;[NY.PM]; ;g;local$\=
qq$\n$;@pm=split//;while($NY=pop @pm){$pm.=$NY;$ny.=pop @pm}
$pm=join'',reverse($ny,$pm);open(NY,'>&STDOUT');print NY $pm


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

Date: Wed, 26 Nov 1997 16:38:56 -0800
From: staff <abiogen@abiogenesis.com>
Subject: building cpan modules on win32         
Message-Id: <Pine.BSF.3.95q.971126163615.4152B-100000@web1.calweb.com>

 
Hi.  I've managed to get perl working on win32.  I can't seem to make
modules from cpan however.  From what I've read it shouldn't be all that
difficult to build cpan perl modules.  If anyone can tell me what I need
to do, I'd appreciate it.
 
For example, some of the problems I've had:
 
--------------------------------------------------------------------------------
G:\APPS\perl\cpan\Data-Dumper-2.07>perl Makefile.PL
Checking if your kit is complete...
Looks good
Have \\ADM01\VADM01\APPS\PERL\lib\Config.pm expected
G:\apps\perl\lib\Config.pm
Your perl and your Config.pm seem to have different ideas about the
architecure
they are running on.
Perl thinks: [lib]
Config says: [MSWin32]
This may or may not cause problems. Please Check your installation of perl
if
you have problems building this extension.
t\dumper.tWriting Makefile for Data::Dumper
 
G:\APPS\perl\cpan\Data-Dumper-2.07>
--------------------------------------------------------------------------------
First I should mention that I have the Gnu-Win32 tools installed.  I got
these at <a href="http://www.cygnus.com/misc/gnu-win32/">here</a>.  These
tools provide a bunch of unix like tools and even a bash shell.  I've not
been using bash (as you might infer from the dos-like prompts seen above),
but I do use the gnu-win32 version of make.
 
Anyway, Looking at the Makefile that gets generated with 'perl
Makefile.PL', I
can see several problems:
 
 
First, these:
 
   PERL = \\ADM01\VADM01\APPS\PERL\BIN\perl
   FULLPERL = \\ADM01\VADM01\APPS\PERL\BIN\perl
 
don't work until I change them to this:
 
   PERL = \\\\ADM01\\VADM01\\APPS\\PERL\\BIN\\perl
   FULLPERL = \\\\ADM01\\VADM01\\APPS\\PERL\\BIN\\perl
 
 
Second, backslashes (for example: INST_BIN = blib\bin) cause make to
create directories like blibbin, bliblibdata, and such.  Changing the
backslashes to normal '/' solves that; but I have to change about 30 of
them for the Data-Dumper makefile alone.
 
the list goes on... and I still can't get these things to build.
 
thanks a lot, Jonathan  jrs@abiogenesis.com


 
 



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

Date: Wed, 26 Nov 97 19:58:28 -0500
From: bsa@void.apk.net (Brandon S. Allbery KF8NH; to reply, change "void" to "kf8nh")
Subject: Re: Can't 'make' modules.  "bash: make: command not found"
Message-Id: <347cc5fb$1$ofn$mr2ice@speaker>

In <isg1orq55f.fsf@godzilla.kiere.ericsson.se>, on 11/20/97 at 10:35 AM,
   Calle Dybedahl <qdtcall@esb.ericsson.se> said:
+-----
| > put bad stuff in there (notably, Solaris has a /usr/ccs/bin/cc that's a shell
| > script which essentially advertizes Sunsoft's compiler suite).
| What kind of strange Solaris are you running? On all such I have access to,
| the "Get Sunsoft" script is /usr/ucb/cc, not in /usr/ccs/bin.
+--->8

Sigh.  Fallible memory strikes again.  Not much Solaris access over the last
<mumble> months (but you'll have seen that rant elsewhere, I do believe :-)

-- 
brandon s. allbery           [Team OS/2][Linux][JAPH]        bsa@void.apk.net
cleveland, ohio              mr/2 ice's "rfc guru" :-)                  KF8NH
"Never piss off a bard, for they are not at all subtle and your name scans to
 `Greensleeves'."  ---unknown, quoted by Janet D. Miles in alt.callahans



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

Date: Thu, 27 Nov 1997 10:32:04 +0000
From: Asmat Ullah <asmat@cad.strath.ac.uk>
Subject: deleting a line in an ascii file
Message-Id: <347D4C24.15FB@cad.strath.ac.uk>

I have a flat file, containing a delimited(:) line by line list of names
and address, telephone numbers etc.

I need to know how to delete a line from this flat file.

example line:

Joe:Bloggs:MR:332442:Joe@someplace.com:Room1111


Please advise on best solution.

Thanks

Asmat


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

Date: 27 Nov 1997 01:00:20 GMT
From: abigail@fnx.com (Abigail)
Subject: Re: Finding the longest common prefix over a list of strings
Message-Id: <slrn67phkj.44k.abigail@betelgeuse.wayne.fnx.com>

Ken Fox (fox@pt0204.pto.ford.com) wrote on 1548 September 1993 in
<URL: news:65hv4m$a83@eccws1.dearborn.ford.com>:
++ abigail@fnx.com (Abigail) writes:
++ > Ken Fox (fox@pt0204.pto.ford.com) wrote:
++ > ++ ... it has run-time T(k*N+f) where N is the number of words in the
++ > ++ input, k is the length of the common prefix, and f is the number of
++ > ++ false prefix matches that are tested (f < N).
++ > 
++ > I'm not familiar with big-T. Or is that T as in Theta?
++ 
++ I was taught that big-T is simply used to denote theoretical actual
++ run time, i.e. the sum of all operations an algorithm performs.

Well, you are displaying T here as a function working on functions
(and if it would be similar as big-O, it would return an equivalence
 class of functions). I guess you meant T (N) = O (k*N + f).

++ I think this algorithm is equivalent to the regex:
++ 
++   PREFIX: for (i = length(word[0]); i >= 0; --i) {
++     prefix = substr(word[0], 0, i)
++     for (j = 1; j < N; ++j) {
++       if (prefix ne substr(word[j], 0, i)) {
++         next PREFIX;
++       }
++     }
++     last;
++   }

I agree.

++ It looks like this algorithm will scan the input at most length(word[0])
++ times.  Each scan of a word does at most length(word[0]) work.  So I
++ agree with you that the regex is quadratic in (the first) word length,
++ iff the input is pathological.  I think in actual practice the average
++ run times will be linear (or nearly linear), but proving the average
++ case performance is beyond my ability.  This seems like the same problem
++ QuickSort has -- quadratic worst case performance but very good average
++ performance.

Yes and no. As we all know, quicksorts worst case behaviour is a sorted
array. A sorted list of words is more likely to share a long common
prefix on the first fraction of words - more likely than a randomly
shuffled list of words. You can calculate the expected run time of the
algorithm for a certain distribution of inputs - but do you know your
actual input has that distribution? Furthermore, even if the expected
case if "fast", there will also be cases were it will be "slow". Will
that be acceptable for the application?

++ The regex solution can also be made more stable by putting the
++ shortest word at the head of the array.  This can be done in linear
++ time.

True, but that doesn't buy you much if all words are of (almost)
the same length.

++ > Not so fast. If you don't take word lengths/prefix lengths into account,
++ > the constant that disappears in the big-O *will* depend on the maximum
++ > word length. For Ilya's, yours and mine, that constant is linear on the
++ > maximum word length. For the regex solution, that constant is quadratic
++ > in the maximum word length.
++ 
++ I'm only saying that the regex (with modern perl on a modern OS on a
++ modern machine when given normal input) outperforms your algorithm by
++ a large margin.  How could that be when analysis clearly indicates
++ regex to be the worst performer?  Why don't *you* explain?  ;)

Can I pick the input?


Abigail
-- 
perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/'


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

Date: 27 Nov 1997 01:34:50 GMT
From: abigail@fnx.com (Abigail)
Subject: Re: For the pro's ? repost: Leaving HTML tags alone
Message-Id: <slrn67pjla.44k.abigail@betelgeuse.wayne.fnx.com>

Jim Michael (genepool@netcom.com) wrote on 1548 September 1993 in
<URL: news:genepoolEK9xwF.CG5@netcom.com>:
++ Patrick (Venice@euronet.nl) wrote:
++ : Http is a cool protocol, more info at: <A
++ : HREF="http://www.fictional.net>This http site</A>
++ 
++ : I want to replace 'http' (NOT in the HTML-code) in the above with the
++ : full name: Hyper Text Transfer Protocol without changing the http://
++ : in the html tag...
++ 
++ : Or with other words: Replacements without touching things between <>
++ 
++ The particular case appears solvable with a simple substitution:
++ 
++ $myString =~ s/([^"]?)http/$1Hyper Text Transfer Protocol/ig;
++ 
++ providing http within the tag is always preceded by " and http is never 
++ preceded by " outside the tag.


Which is a false assumption for HTML. Just use HTML::Parse and
you will be able to to deal with all pages that can be parsed by
Netscape & MSIE correctly.


Abigail
-- 
perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/'


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

Date: Thu, 27 Nov 1997 20:19:42 GMT
From: Venice @ euronet.nl (Patrick)
Subject: Re: For the pro's ? repost: Leaving HTML tags alone
Message-Id: <65jl42$rfr$1@news.NL.net>

scribble@shoga.wwa.com (Tushar Samant) wrote:

>1. Download striphtml from "Tom's Kickass Scripts":
>2. Take the first two patterns in it (comments and tags), stick a
>   "|" between them and parentheses around them, split the HTML on
>   the pattern, apply your substitution to every even-indexed element,
>   join 'em up with "".

Ok, i am no perl wizard but i created this:

 s/(<(?:[^>])+)$seek/$1$replace/ig;

(with help from Tom's scripts)

This searches for < checks if no > is between < and $seek next
replacing it.

Now inversing it.. I'm breaking my mind on this... :-\

So replacing it if the $seek is NOT in brackets...

Patrick




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

Date: Thu, 27 Nov 1997 04:30:51 -0500
From: comdog@computerdog.com (brian d foy)
Subject: Re: How to directly call a POST method
Message-Id: <65je7d$116@bgtnsc03.worldnet.att.net>

In article <VoioaUArkOf0Ewx6@worsdall.demon.co.uk>, Mark Worsdall
<jaydee@worsdall.demon.co.uk> wrote:

> 2 Methods are availble to you, the preferable is if you have SSI then
> you would do this and rename the web extension with .stm

or whatever extension the server is set up to parse.

> 2) Image solution
> <img src="http://www.domain.com/cgi-bin/test.pl" align=left width=1
> height=1 border=0>
> 
> The user will not see anyting but the script will be executed, Beware
> the script should have a referer checking capability so if oher users
> try to hack or call from their pages to script will die.

the referer is easy to hack (dare i say "trivial" again?).  no sense
bothering with that. :)

-- 
brian d foy                                 <http://computerdog.com>
#!/usr/bin/perl
$_=q|osyrNewkecnaYhe.mlorsePptMskurj|;s;[NY.PM]; ;g;local$\=
qq$\n$;@pm=split//;while($NY=pop @pm){$pm.=$NY;$ny.=pop @pm}
$pm=join'',reverse($ny,$pm);open(NY,'>&STDOUT');print NY $pm


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

Date: Thu, 27 Nov 1997 00:46:44 +0000
From: Rey Andrada <reya@wni.com>
Subject: how to do dos command inside perl (in nt)
Message-Id: <347CC2F4.369E@wni.com>

Hi All,


how to do dos command inside perl (in nt)

   Back tick dont work and according to faq that i've read that ya this
doesnt work in perl-nt. Okay the question is is there a way to do it 
besides using system ? if not is it going to be fixed ?

   Please e-mail me directly.

thanks,


Rey


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

Date: 26 Nov 1997 23:58:15 GMT
From: Steve Johnson <sjohnson@twisted.napanet.net>
Subject: Re: how to invoke sendmail for mailing list?
Message-Id: <65id2n$1tp$1@wiley.napanet.net>



Hi Kevin,

	I also wrote a knock-off of major domo that I call perldomo, and
to solve this problem I use the bcc: field to carbon copy the original
message to everyone on the list, its very fast this way.  Using bcc:
causes sendmail to launch only once.  this also reduces system load which
I'm sure your sysadmin will be verry happy with.

-Steve


Kevin Kelleher <kevink@NOSPAM-mit.edu> wrote:

: Premise: I can't create mail aliases on my ISP, yet I want to
: run a group of email discussion lists.

: So, I wrote a small knockoff of majordomo that works pretty
: well, but it takes a long time (minutes) to send all the
: mail.

: At first I was looping on the list of subscribers and
: doing this:

:   system ("/usr/lib/sendmail $subscriber < $letter");

: but when I saw how slow it was I moved the loop into
: a shell script:

:   #/bin/sh
:   letter=$1
:   for i in `grep command that gets subscribers`
:   do
:     /usr/lib/sendmail $i < $letter
:   done

: which I invoke from the perl script, but it doesn't
: look any faster.  The reason I did this was because
: I figured the slowness was due to system's having to
: fork a process each time and wait for it to die,
: but now I think it's just that sendmail is so slow.

: Can anyone suggest a quicker/better way?

: Kevin Kelleher
: kevink@mit . edu  (address altered to avoid spam)


-- 
--
Steve Johnson               NapaNet                        Network  Admin.
sjohnson@napanet.net         Napa,  CA              http://www.napanet.net


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

Date: Wed, 26 Nov 1997 21:43:08 -0500
From: Chipmunk <rjk@coos.dartmouth.edu>
Subject: Re: How To Test if number is ODD or EVEN?
Message-Id: <347CDE3C.4072@coos.dartmouth.edu>

Brian Wheeler wrote:
> 
> In article <comdog-ya02408000R2411971501330001@news.panix.com>,
>         comdog@computerdog.com (brian d foy) writes:
> > In article <01bcf675$0ea174c0$c82da8c0@akilles.ittek.org>, "Robert Friberg" <robert.friberg@your_clothes.eductus-vast.com> wrote:
> >
> >>print $number && 1 ? 'Odd!': 'Even!', "\n";
> >
> > i guess you didn't bother to test this.  thanks for posting crap.
> 
> Before go and criticize people's __FREELY GIVEN HELP__, why don't you try to
> figure it out on your own?  odd/even is probably the most trivial problem
> there is.  Sorry if I'm ragging, but it really irks me when people get shitty
> with free advice.

Why are you telling Brian D Foy to 'try to figure it out on his own'? 
He's not the one who asked how to test the parity of a number.  In fact,
he gives out a lot of free advice in this newsgroup (good advice, too,
unlike the above code snippet), so I'm sure he already knows how to
figure out whether a number is even or odd.

Chipmunk


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

Date: 27 Nov 1997 10:51:16 GMT
From: andreas.koenig@franz.ww.tu-berlin.de (Andreas Koenig)
Subject: New Module List Posted
Message-Id: <65jjb4$3ib$1@brachio.zrz.TU-Berlin.DE>
Keywords: FAQ, Perl, Module, Software, Reuse, Development, Free


The Perl 5 Module List, v2.45
=============================

Last night I posted a new module list to the newsgroups
comp.lang.perl.modules, comp.answers, and news.answers. The HTML
version of the list has been uploaded to CPAN as well:

    http://www.perl.com/CPAN/modules/00modlist.long.html

This is the first posting after a longish break and I apologize to
those who have been relying on the quick turnaround of two module
lists per month. In the next days I'll experiment with an update mode
that changes the HTML version on a day to day basis, so the regular
postings are just snapshots of the HTML version. Stay tuned.

As usual, comments, corrections and suggestions are more than
welcome. Please mail them to

     modules@perl.org

I believe that I have taken into account all mails we have received
since the last posting. If this is not the case, please let us know. A
big Thank You to all contributors helping us to keep the document up
to date and apologies to all who didn't get responses as quick as they
should.


Changes in the modules database
-------------------------------

2) Perl Core Modules, Perl Language Extensions and Documentation Tools
----------------------------------------------------------------------
Error          adpO  Error/exception handling in an OO-ish way    GBARR +
Opcode         Supf  Disable named opcodes when compiling code    TIMB !
Protect        bdpf  declare subs private or member               JDUNCAN +
builtin        adcf  A selection of subs destined for the core    GBARR +
less           Supf  Controls optimisations (yet unimplemented)   P5P !


3) Development Support
----------------------
Devel::
::Coverage     adpf  Coverage analysis for Perl code              RJRAY +
::DebugInit    i     Create a .gdbinit or similar file            JASONS +
::SmallProf    a     Line-by-line profiler                        ASHTED +

Test::
::Cases        cdpf  Run group of tests, each with a new perl     DOMO +


4) Operating System Interfaces
 ------------------------------
BeOS::
::base         a     Base perl5 functionality for the BeOS        TSPIN +

MSDOS::
::Attrib       bdcf  Get/set DOS file attributes in OS/2 or Win32 CJM +

PDA::
::PilotDesktop i     Managing Pilot Desktop databases software    JWIEGLEY +

Quota          Rdcf  Disk quota system functions, local & remote  TOMZO !

VMS::
::Priv         Rdcf  Access VMS Privileges for processes          DSUGAL +


5) Networking, Device Control (modems) and InterProcess Communication
---------------------------------------------------------------------
Net::
::DummyInetd   RdpO  A dummy Inetd server                         GBARR +
::PH           RdpO  CCSO Nameserver Client class                 GBARR +
::Ping         SupO  TCP and ICMP ping                            RMOSE !

RADIUS::
::Dictionary   bdpO  Object interface to RADIUS dictionaries      CHRMASTO +
::Packet       bdpO  Object interface to RADIUS (rfc2138) packets CHRMASTO +


6) Data Types and Data Type Utilities (see also Database Interfaces)
--------------------------------------------------------------------
Calendar::
::CSA          adcO  interface with calenders such as Sun and CDE KJALB +

Date::
::Interval     idpO  Lightweight normalised interval data type    KTORP !

Math::
::Interpolate  Rdpr  Polynomial interpolation of data             MATKIN +
::Polynomial   RdpO  Polynomials as objects                       MATKIN +

Tree::
::Balanced     Rdpf  Extract balanced-delimiter substrings        DCONWAY !


7) Database Interfaces (see also Data Types)
--------------------------------------------
AsciiDB::
::TagFile      adpO  Tie class for a simple ASCII database        JOSERODR +

DBD::
::Informix4    amcO  DBI driver for Informix SE 4.10              GTHYNI +
::XBase        cmcO  Complete XBase support: read, write, index   JANPAZ +
::mSQL         amcO  Msql Driver for DBI                          JWIED !
::pNET         amcO  DBD proxy driver                             JWIED +

LotusNotes     i     Interface to Lotus Notes C/C++ API           JONO +

Msql           RmcO  Mini-SQL, a light weight SQL database        JWIED !

OLE::
::PropertySet  aupO  Property Set interface                       MSCHWARTZ +
::Storage      aupO  Structured Storage / OLE document interface  MSCHWARTZ +

XBase          bdpO  Complete XBase support: read, write, index   JANPAZ +


8) User Interfaces (Character and Graphical)
--------------------------------------------
Gtk            cdcO  binding of the Gtk library used by GIMP      KJALB +

Tk::
::Axis         RmpO  Canvas with Axes                              +
::Dial         RmpO  Dial widget, alternative to the Scale widget TKML +
::Multi        adpo  Manages several text widgets under Tk        DDUMONT +
::ObjScanner   adpo  Tk widget to display object attribute values DDUMONT +
::OlWm         RmpO  Access OpenLook toplevel widget properties   TKML +
::Pod          RmpO  POD browser toplevel widget                  TKML +
::TiedListbox  RmpO  gang together Listboxes                      TKML +

X11::
::Fvwm         RdcO  interface to the FVWM window manager API     RJRAY !
::Lib          adcO  X11 library interface                        KENFOX +
::Motif        adcO  Motif widget set interface                   KENFOX +
::Toolkit      adcO  X11 Toolkit library interface                KENFOX +


9) Interfaces to or Emulations of Other Programming Languages
-------------------------------------------------------------
C::
::DynaLib      bdcO  Allows direct calls to dynamic libraries     JTOBEY +


10) File Names, File Systems and File Locking (see also File Handles)
---------------------------------------------------------------------
File::
::Spec         bdpO  Handling files and directories portably      KJALB +


11) Text Processing, Parsing and Searching
------------------------------------------
Chatbot::
::Eliza        adpO  Eliza algorithm encapsulated in an object    JNOLAN +

Parse::
::RecDescent   RdpO  Recursive descent parser generator           DCONWAY !
::ePerl        Rdcr  Embedded Perl (ePerl) parser                 RSE +

Text::
::BibTeX       adcO  Parse BibTeX files                           GWARD +
::Metaphone    cdpf  Convert a string to a metaphone value        MIKESTOK +
::Morse        cdpf  convert text to/from Morse code              JONO +


12) Option, Argument, Parameter and Configuration File Processing
-----------------------------------------------------------------
App::
::Config       bdpO  Configuration file mgmt                      ABW +

Getopt::
::Simple       RdpO  A simplified interface to Getopt::Long       RSAVAGE +
::Tabular      adpr  Table-driven argument parsing with help text GWARD +


15) World Wide Web, HTML, HTTP, CGI, MIME etc (see Text Processing)
-------------------------------------------------------------------
CGI::
::LogCarp      adpf  Error, log, bug streams, httpd style format  MIKEKING +

HTML::
::ParseForm    i     Parse and handle HTML forms via templates    NMONNET +
::TableLayout  bdpO  an extensible OO layout manager              SFARRELL +

MIME::
::Lite         RdpO  Single module for composing simple MIME msgs ERYQ !

Netscape::
::Server       adcO  Perl interface to Netscape httpd API         BSUGARS +


17) Archiving, Compression and Conversion
-----------------------------------------
Compress::
::Zlib         RdcO  Interface to the Info-Zip zlib library       PMQS !

Convert::
::EBCDIC       adpf  ASCII to/from EBCDIC                         CXL +
::Recode       ?     Mapping functions between character sets     GAAS +
::Translit     MdpO  String conversion among many character sets  GENJISCH +


18) Images, Pixmap and Bitmap Manipulation, Drawing and Graphing
----------------------------------------------------------------
Image::
::Colorimetry  cdpO  transform colors between colorspaces         JONO +


19) Mail and Usenet News
------------------------
Mail::
::Field        RdpO  Base class for handling mail header fields   GBARR +
::Header       RdpO  Manipulate mail RFC822 compliant headers     GBARR +

News::
::Scan         cdpO  Gathers and reports newsgroup statistics     GBACON +


21) File Handle, Directory Handle and Input/Output Stream Utilities
-------------------------------------------------------------------
IO::
::STREAMS      cdcO  Methods for System V style STREAMS control   NI-S !
::Scalar       adpO  An I/O handle to read/write a string buffer  ERYQ !
::ScalarArray  adpO  An I/O handle on a ref to array of scalars   ERYQ !


22) Microsoft Windows Modules
-----------------------------
Win32API::
::Console      cdcf  Win32 Console Window functions/consts        TYEMQ +
::File         cdcf  Win32 file/dir functions/constants           TYEMQ +
::Registry     adcf  Win32 Registry functions/constants           TYEMQ +
::WinStruct    cdcf  Routines for Win32 Windowing data structures TYEMQ +
::Window       cdcf  Win32 Windowing functions/constants          TYEMQ +


23) Miscellaneous Modules
-------------------------
Chemistry::
::Elements     RdpO  Working with Chemical Elements               BDFOY +
::Isotopes     idpO  extends Elements to deal with isotopes       BDFOY +


Changes in the users database
-----------------------------
+  ABH      Ask Bjxrn Hansen <ask@netcetera.dk>
!  ABW      Andy Wardley <abw@cre.canon.co.uk>
+  ACH      Achim Bohnet <ach@mpe.mpg.de>
!  ADESC    Alligator Descartes <descarte@arcana.co.uk>
!  BARTS    Bart Schuller <schuller@lunatech.com>
+  BDFOY    brian d foy <comdog@computerdog.com>
!  BMIDD    William J. Middleton <William.Middleton@oslo.mobil.telenor.no>
+  BOADLER  Bo Adler <thumper@ugcs.caltech.edu>
+  BSUGARS  Benjamin Sugars <bsugars@canoe.ca>
!  CBAIL    Charles Bailey <bailey@newman.upenn.edu>
+  CHRMASTO Christopher Masto <chris@netmonger.net>
+  CXL      Chris Leach <leachcj@bp.com>
+  DOMO     Dominic Dunlop <domo@slipper.ip.lu>
!  DSUGAL   Dan Sugalski <sugalskd@osshe.edu>
+  FLETCH   Mike Fletcher <lemur1@mindspring.com>
+  GBACON   Greg Bacon <gbacon@cs.uah.edu>
!  GBARR    Graham Barr <gbarr@pobox.com>
+  GENJISCH Genji Schmeder <genji@community.net>
+  GTHYNI   Goran Thyni <goran@bildbasen.kiruna.se>
!  HAYASHI  Hiroo HAYASHI <hiroo.hayashi@toshiba.co.jp>
+  IKLUFT   Ian Kluft <ikluft@cisco.com>
+  JANL     Nicolai Langfeldt <janl@math.uio.no>
+  JCOSTOM  Jason Costomiris <jcostom@sjis.com>
!  JGROENVELJohn D Groenveld <groenveld@acm.org>
!  JJDG     Hans de Graaff <graaff@xs4all.nl>
!  JMURPHY  Joel Murphy <jmurphy+pause@cnu.acsu.buffalo.edu>
+  JNOLAN   John Nolan <jnolan@n2k.com>
+  JOSERODR Jose A. Rodriguez <Jose.Rodriguez@ac.upc.es>
+  JVENIER  John Venier <venier@odin.mdacc.tmc.edu>
+  JWIEGLEY John Wiegley <johnw@borland.com>
+  KDOWNEY  Kyle Downey <kdowney@xline.com>
+  KMACLEOD Ken MacLeod <ken@bitsko.slc.ut.us>
!  KRISHPL  Krishna Shamu Sethuraman <krishpl@shamu.engr.sgi.com>
+  KTORP    Kristian Torp <torp@cs.auc.dk>
+  LMOLNAR  Laszlo Molnar <molnarl@cdata.tvnet.hu>
+  MATKIN   Matz Kindahl <matkin@docs.uu.se>
+  MENGEL   Marc W. Mengel <mengel@fnal.gov>
!  MERGL    Edmund Mergl <E.Mergl@bawue.de>
!  MEWP     Michael Peppler <mpeppler@mbay.net>
+  MIKEKING Michael King <mike808@mo.net>
+  MPIOTR   Michael Piotrowski <mxp@linguistik.uni-erlangen.de>
+  MSCHWARTZMartin Schwartz <schwartz@cs.tu-berlin.de>
+  NMONNET  Nicolas Monnet <nico@idnet.fr>
+  OTAYLOR  Owen Taylor <owt1@cornell.edu>
!  OZAWA    OZAWA Sakuro <ozawa@aisoft.co.jp>
!  RJRAY    Randy J Ray <rjray@flesh.byz.org>
+  RSAVAGE  Ron Savage <rpsavage@ozemail.com.au>
+  SFARRELL Stephen Farrell <steve@farrell.org>
+  SHERWOOD Steve Sherwood <pariah@netcomuk.co.uk>
!  SRIRAM   Sriram Srinivasan <sriram@weblogic.com>
+  SZANDER  Stephen Zander <stephen.zander@interlock.mckesson.com>
+  TSPIN    Tom Spindler <dogcow@umich.edu>
!  ULPFR    Ulrich Pfeifer <pfeifer@wait.de>

--
andreas


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

Date: Thu, 27 Nov 1997 09:55:59 +1000
From: John Farrell <jfarrell@mincom.com>
To: Programming <sysdev@mb.sympatico.ca>
Subject: Re: Newbie question.   Do you recommend moving from C?
Message-Id: <347CB70F.2BB86E41@mincom.com>

Programming wrote:
> dim ls_temp as string
> ls_temp = "testing"

Not so hard in C:

char buf[255];
sprintf(buf,"testing");

but that only has lifetime for the current function.

In Java:
String ls_temp = "testing";

Yes, move to Java. It's OO and easy.

John
-- 
 /\\\  Mincom | Dr John Farrell          | email: jfarrell@mincom.com
// \\\        | MIMS Technology Research | 
\\ ///        | Mincom Pty. Ltd.         |
 \///         | Teneriffe, Brisbane      |


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

Date: 27 Nov 1997 00:41:19 GMT
From: "Ed Jensen" <ejensen@nospam.visi.com>
Subject: Re: Newbie question.   Do you recommend moving from C?
Message-Id: <01bcfacd$6afc71a0$9ec00bce@chronos.visi.com>

Programming <sysdev@mb.sympatico.ca> wrote in article
<347C5CAC.6C29@mb.sympatico.ca>...
> So, what would be 2 statements in say Visual Basic, 
> 
> dim ls_temp as string
> ls_temp = "testing"

How about one statement in C?

char *ls_temp = "testing";

It seems you need to learn C a lot better before bashing it.  The C
code you posted is, no offense, pretty bad.

> Regards,
> 
> Rodger

-Ed


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

Date: 27 Nov 1997 01:04:49 GMT
From: toutatis@no.mail.please (Toutatis)
Subject: Re: PERL Hourly Rates
Message-Id: <toutatis-ya023180002711970204470001@news.euro.net>

comdog@computerdog.com (brian d foy) wrote:

> toutatis@no.mail.please (Toutatis) wrote:
> 
> > comdog@computerdog.com (brian d foy) wrote:
> > 
> > > toutatis@no.mail.please (Toutatis) wrote:

> > Thank you for perfectly illustrating my point. CGI scripting is _not_ as
> > trivial as you're suggesting. The fact that you probably relied too much on
> > Text::Wrap (with a die statement where it'd better not be) is foregivable.
> > That you didn't test every condition under wich your script is used is
> > somewhat understandable. You're a busy man. The fact you need additional
> > information from me to reproduce the error leads me to believe you didn't
> > properly configure your scripts 
> 
> the fact that i didn't reproduce any error is probably because i don't
> know what you did to break it.  my guess would be that you gave it input

*Sigh*
Now why leave out the _punchline_ in your quote:

"... properly configure your scripts and/or httpd to provide you the essential
debugging information (Text::Wrap is not _that_ buggy that it doesn't
exactly tell you _why_ it invoked a die)."

What I ment is that if you had properly configured your scripts and/or
logs, you would't _need_ to guess. It would have been _spelled_ _out_ for
you. Isn't this on top of the CGI idiots guide? Question: Why did my script
return a server error? Answer: Get access to the httpd errorlog somehow and
use -w.

> if you want to support your point, as many others have done, you'll
> need to lay aside the ad hominem attacks and outstanding example
> tactics, both of which prove nothing.

You're right here. Proving you don't seem to master a basic principle of
CGI scripting does not invalidate your statement that CGI scripting is
trivial.
But at least I've had some good laughs. :-D

-- 
Toutatis


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

Date: Wed, 26 Nov 1997 16:31:21 -0600
From: Ken Holm <rets@meta3.com>
Subject: Re: PERL Hourly Rates
Message-Id: <347CA339.41C6@meta3.com>

Well, I've seen that CGI is trivial, easy, etc.  So is growing food. 
How many of those folks grow their own groceries?  It _is_ easy. 
Obviously, if we can grow our own goods, cooking them is the next thing
to do.  Certainly, programming (nearly) anything is more difficult than
fixing a salad.

The points are:

* Yeah, I _could_ program this but it is more convenient...
* I don't know how to program (farm), so...
* I am an okay programmer (cook) but I would like something more 
  complex...

Moreover, a thing's value can be defined by its context.  If you and I
were in a desert for the past two weeks and I had a canteen of water and
you none, what would you pay for a swig?  Now, if we were camped at
Crystal Springs for two weeks, would you pay for any water?

I have read that some good responses to the original question.  Some
said $40 - $100 though hobbyist(?) are cheaper.  I agree.

-K

-- 
Kennneth A Holm  |        META 3 - Webmaster        |webmaster@meta3.com
PO Box 1508      |----------------------------------|(601)948.3399 x 227
Jackson, MS 39215|PGP Key finger webmaster@meta3.com|(601)948.5999 (fax)


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

Date: Thu, 27 Nov 1997 02:10:24 +0100
From: "Alan J. Flavell" <flavell@mail.cern.ch>
Subject: Re: PERL Hourly Rates
Message-Id: <Pine.A41.3.95a.971127020512.28874C-100000@sp062>

On Wed, 26 Nov 1997, brian d foy wrote:

> when i forget that, i just pull out the old FORTRAN code with which
> i had to deal.  talk about ugly...

Hey, I work for the particle physics community.  I've never forgotten
that at a seminar at CERN on software design methodologies, someone
said "Physicists write FORTRAN in any language".

It's probably true, too.  At least for us oldsters. 




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

Date: Wed, 26 Nov 1997 20:25:24 -0600
From: Jamie Gerdes <jgerdes@prismrsc.com>
Subject: reading a remote site's html?
Message-Id: <347CDA14.5A673C7A@prismrsc.com>

I'd like to be able to read a remote html page
(http://www.ANYSITE.com/index.htm) make some changes to it (or just get
info from it) and then spit it back out from my CGI.  Can anyone PLEASE
help me figure out how to read in a the remote page as if it were a file
on my server?

One example is the site that turns any given website backwards..
   http://www.smeg.com/backwards

How do they read in the given site in order to alter it?  Thanks so
much!

   .jamie gerdes



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

Date: Thu, 27 Nov 1997 12:56:39 +1100
From: Anthony Licciardi <914398N@knotes.kodak.com>
Subject: Re: tail -f cmd (again)
Message-Id: <347CD357.162C@knotes.kodak.com>

Firstly, I would like to thank those of you who took the time to give me
some feedback to this tail -f cmd. Now I have another dilemma with this.
When tail -f monitors a file, what is written into this file are
multiple lines - not one.
For eg. tail -f file - monitors 'file'.
The output will be appended to the file1.
The output will overwrite to the file2. - so file2 will always have the
latest that the tail -f file had.
More explanation: testfile contains the following lines:
this is line one
this is line two
If I cat testfile >> file, file1 will be the same as file as it is
appending. Whereas file2 will have only the latest output. In the
suggestions I have had what happens is that 'this is line two' is only
written to file2 - not the 'this is line one' as well.

So in the end, I want to be able to overwrite the file2 with the output
of tail -f - but remembering that there are multiple lines involved.
Please e-mail me if you require furthere (maybe more clearer)
explanation.
Thank you again.


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

Date: Thu, 27 Nov 1997 11:44:32 -0000
From: "Jonathan Tracey" <jon.tracey@earthling.net>
Subject: TK port for win32????????/
Message-Id: <65jmfh$hnh$1@soap.uunet.pipex.com>

I understand that there is now  TK port for win32 does anyone use it or know
where I can get it from??

Cheers
Jon Tracey
jon.tracey@earthling.net




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

Date: Wed, 26 Nov 1997 18:43:01 -0500
From: comdog@computerdog.com (brian d foy)
Subject: Re: truncating a string
Message-Id: <65ibp5$ldm@bgtnsc02.worldnet.att.net>

In article <65i7t1$8c0$1@news.inficad.com>, Bill Eberle <wile@inficad.com>
wrote:

> I have a problem with limiting the size of a string variable.  I want to 
> take the first ten characters and delete the rest.  Does anyone know an 
> easy way to do this, short of reading the first ten characters into an 
> array?

you could try something like:

   #!/usr/bin/perl
   
   $_ = 'just another new york perl hacker';
   
   #if the string is too long, truncate it
   $_ = substr $_, 0, 10 if length $_ > 10;
   
   print "$_\n";
   
   __END__

   just anoth

-- 
brian d foy                                 <http://computerdog.com>
#!/usr/bin/perl
$_=q|osyrNewkecnaYhe.mlorsePptMskurj|;s;[NY.PM]; ;g;local$\=
qq$\n$;@pm=split//;while($NY=pop @pm){$pm.=$NY;$ny.=pop @pm}
$pm=join'',reverse($ny,$pm);open(NY,'>&STDOUT');print NY $pm


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

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

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