[7755] in Perl-Users-Digest
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
**************************************