[29528] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 772 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Aug 20 03:09:42 2007

Date: Mon, 20 Aug 2007 00:09:05 -0700 (PDT)
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, 20 Aug 2007     Volume: 11 Number: 772

Today's topics:
    Re: A question about regex <news@lawshouse.org>
    Re: how to call sub by value in variable - SOLVED <stoupa@practisoft.cz>
    Re: how to call sub by value in variable - SOLVED <noreply@gunnar.cc>
    Re: how to call sub by value in variable <stoupa@practisoft.cz>
        new CPAN modules on Mon Aug 20 2007 (Randal Schwartz)
    Re: Stumped: returning a read pipe from a function <ced@blv-sam-01.ca.boeing.com>
    Re: Symbolic representation of logical operators <bik.mido@tiscalinet.it>
    Re: Symbolic representation of logical operators (Mark Hobley)
    Re: Symbolic representation of logical operators xhoster@gmail.com
    Re: Symbolic representation of logical operators <tadmc@seesig.invalid>
    Re: Symbolic representation of logical operators <rvtol+news@isolution.nl>
        Symrefs (was: how to call sub by value in variable) <noreply@gunnar.cc>
    Re: Symrefs <uri@stemsystems.com>
        Xah's Edu Corner: Under the spell of Leibniz's dream <xah@xahlee.org>
    Re: Xah's Edu Corner: Under the spell of Leibniz's drea <twisted0n3@gmail.com>
    Re: Xah's Edu Corner: Under the spell of Leibniz's drea (Rob Warnock)
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Sun, 19 Aug 2007 22:48:23 +0100
From: Henry Law <news@lawshouse.org>
Subject: Re: A question about regex
Message-Id: <1187560056.11065.0@proxy00.news.clara.net>

Madhusudhanan Chandrasekaran wrote:
> Hi,
> 
> I am a perl newbie. I am reading from a file line by line and
> matching it for a partiuclar regex. If the match is found, I want
> to print the previous and the next few lines.

I'm all for using Perl, but if you're on a UNIX system then grep -A1 -a1 
would do this.  (Might even work on another OS with a grep port).

-- 

Henry Law            Manchester, England


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

Date: Mon, 20 Aug 2007 04:29:52 +0200
From: "Petr Vileta" <stoupa@practisoft.cz>
Subject: Re: how to call sub by value in variable - SOLVED
Message-Id: <faaum7$10cq$2@ns.felk.cvut.cz>

Petr Vileta wrote:
> My final solution.
Hmm, not final... maybe this will be final :-) Thanks for all for ideas to 
helped me to write secure solution.

--- CUT ---
#!/usr/bin/perl
use strict;
use warnings;

foreach my $sub (qw/test1 test3 test2/)
 {
 foreach my $name (qw/Petr John/)
  {
  if(defined(&{"main::" . $sub}))
   {
   (\&$sub)->($name);
   }
  else
   {
   warn "Sub '$sub' not defined\n";
   last;
   }
  }
 }

sub test1
{
my $txt=shift;
print "Hallo $txt\n";
}

sub test2
{
my $txt=shift;
print "Bye $txt\n";
}
--- CUT ---

Petr Vileta, Czech republic
(My server rejects all messages from Yahoo and Hotmail. Send me your mail 
from another non-spammer site please.)





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

Date: Mon, 20 Aug 2007 07:38:21 +0200
From: Gunnar Hjalmarsson <noreply@gunnar.cc>
Subject: Re: how to call sub by value in variable - SOLVED
Message-Id: <5isnmnF3qc6t9U1@mid.individual.net>

Petr Vileta wrote:
> Petr Vileta wrote:
>> My final solution.
> Hmm, not final... maybe this will be final :-) Thanks for all for ideas 
> to helped me to write secure solution.
> 
> --- CUT ---
> #!/usr/bin/perl
> use strict;
> use warnings;
> 
> foreach my $sub (qw/test1 test3 test2/)
> {
> foreach my $name (qw/Petr John/)
>  {
>  if(defined(&{"main::" . $sub}))
>   {
>   (\&$sub)->($name);
>   }

Too obfuscated to my taste. If you don't want to use a dispatch table, 
why not just:

     no strict 'refs';
     if ( defined &$sub ) {
         $sub->($name);
     }

-- 
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl


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

Date: Mon, 20 Aug 2007 04:09:47 +0200
From: "Petr Vileta" <stoupa@practisoft.cz>
Subject: Re: how to call sub by value in variable
Message-Id: <faaum7$10cq$1@ns.felk.cvut.cz>

Brian McCauley wrote:
> It's trivial to use CODE symrefs without switching off use strict.
>
> (\&$sub)->($name);
>
Yippee :-) This is what I looked for.

> But if you think that doing so would be an improvement then you've
> misunderstood why we suggest using strict in the first place.
Of course, I rewrote my script (see other my mess here).

-- 

Petr Vileta, Czech republic
(My server rejects all messages from Yahoo and Hotmail. Send me your mail 
from another non-spammer site please.)




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

Date: Mon, 20 Aug 2007 04:42:14 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Mon Aug 20 2007
Message-Id: <Jn22EE.1JKF@zorch.sf-bay.org>

The following modules have recently been added to or updated in the
Comprehensive Perl Archive Network (CPAN).  You can install them using the
instructions in the 'perlmodinstall' page included with your Perl
distribution.

App-Config-0.001
http://search.cpan.org/~rjbs/App-Config-0.001/
Easy configuration base class for your App. 
----
App-Pgrep-0.01
http://search.cpan.org/~ovid/App-Pgrep-0.01/
PPI-powered grep 
----
App-Wack-0.03
http://search.cpan.org/~szabgab/App-Wack-0.03/
the actual code of wack the wisual ack 
----
CPAN-FindDependencies-1.02
http://search.cpan.org/~dcantrell/CPAN-FindDependencies-1.02/
find dependencies for modules on the CPAN 
----
Catalyst-View-ClearSilver-0.02
http://search.cpan.org/~jrockway/Catalyst-View-ClearSilver-0.02/
ClearSilver View Class 
----
Cisco-Accounting-1.01
http://search.cpan.org/~mwallraf/Cisco-Accounting-1.01/
Cisco and IPCAD ip accounting parser and aggregator 
----
DBD-WMI-0.05
http://search.cpan.org/~corion/DBD-WMI-0.05/
interface to the Windows WMI 
----
DBIx-DBSchema-0.34
http://search.cpan.org/~jesse/DBIx-DBSchema-0.34/
Database-independent schema objects 
----
DBIx-ORM-Declarative-0.17
http://search.cpan.org/~jschneid/DBIx-ORM-Declarative-0.17/
Perl extension for object-oriented database access 
----
DBIx-VersionedSubs-0.06
http://search.cpan.org/~corion/DBIx-VersionedSubs-0.06/
all your code are belong into the DB 
----
DateTime-Format-Natural-0.37
http://search.cpan.org/~schubiger/DateTime-Format-Natural-0.37/
Create machine readable date/time with natural parsing logic 
----
Games-Alak-0.19
http://search.cpan.org/~avif/Games-Alak-0.19/
simple game-tree implementation of a gomoku-like game 
----
HTML-Menu-TreeView-0.7.5
http://search.cpan.org/~lze/HTML-Menu-TreeView-0.7.5/
----
JavaScript-Writer-0.0.1
http://search.cpan.org/~gugod/JavaScript-Writer-0.0.1/
JavaScript code generation from Perl. 
----
Lingua-PT-Conjugate-1.12
http://search.cpan.org/~egross/Lingua-PT-Conjugate-1.12/
----
Net-Amazon-S3-0.39
http://search.cpan.org/~lbrocard/Net-Amazon-S3-0.39/
Use the Amazon S3 - Simple Storage Service 
----
Task-Weaken-1.00
http://search.cpan.org/~adamk/Task-Weaken-1.00/
Ensure that a platform has weaken support 
----
Test-Without-Module-0.11
http://search.cpan.org/~corion/Test-Without-Module-0.11/
Test fallback behaviour in absence of modules 
----
Time-Duration-1.06
http://search.cpan.org/~avif/Time-Duration-1.06/
rounded or exact English expression of durations 
----
Tk-Wizard-2.015
http://search.cpan.org/~mthurn/Tk-Wizard-2.015/
GUI for step-by-step interactive logical process 
----
Tree-Trie-1.5
http://search.cpan.org/~avif/Tree-Trie-1.5/
A data structure optimized for prefix lookup. 
----
WWW-Spamla-0.01
http://search.cpan.org/~gray/WWW-Spamla-0.01/
interface to Spam.la 
----
XML-FeedPP-0.30
http://search.cpan.org/~kawasaki/XML-FeedPP-0.30/
Parse/write/merge/edit RSS/RDF/Atom syndication feeds 
----
parent-0.218
http://search.cpan.org/~corion/parent-0.218/
Establish an ISA relationship with base classes at compile time 
----
pip-0.12
http://search.cpan.org/~adamk/pip-0.12/
The Perl Installation Program, for scripted and third-party distribution installation. 
----
pler-0.21
http://search.cpan.org/~adamk/pler-0.21/
The DWIM Perl Debugger 
----
threads-1.64
http://search.cpan.org/~jdhedden/threads-1.64/
Perl interpreter-based threads 


If you're an author of one of these modules, please submit a detailed
announcement to comp.lang.perl.announce, and we'll pass it along.

This message was generated by a Perl program described in my Linux
Magazine column, which can be found on-line (along with more than
200 other freely available past column articles) at
  http://www.stonehenge.com/merlyn/LinuxMag/col82.html

print "Just another Perl hacker," # the original

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!


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

Date: Sun, 19 Aug 2007 14:59:35 -0700
From:  "comp.llang.perl.moderated" <ced@blv-sam-01.ca.boeing.com>
Subject: Re: Stumped: returning a read pipe from a function
Message-Id: <1187560775.289330.169730@m37g2000prh.googlegroups.com>

On Aug 18, 10:30 am, kj <so...@987jk.com.invalid> wrote:
> I'd like to write a function along these lines:
>
>   sub foo {
>     my @args = @_;
>     open my $in, '-|', '/some/command', @args or die $!;
>     return $in;
>   }
>
> (The OS is Unix.)
>
> The code above works fine when the arguments in @args are all OK.
> Otherwise '/some/command' spits an error message to stderr and
> dies, a failure that the code above fails to trap, so the routine
> exits normally.
>
> Putting an eval around the open statement fails to catch the error,
> and certainly it does not prevent the error message from /some/command
> from appearing in stderr.
>
> The root of all these problems I'm sure has to do with the implicit
> fork triggered by the '-|' argument to open.
>
> My question is: how can I trap the error and the error message?
>


The suggested IPC::Open3 sounds like the best
option. But, if you just need to catch a crib
death, ie., /some/command checks arg's first
and dies immediately if invalid:


 open my $in, '-|', '/some/command 2>&1', @args
             or die $!;

 my $line = <$in>;
 if ( eof($in) ) {
    die $line, " close error:", $! || $?
          unless close($in);
 }

 return $in, $line;




You would need to modify the subroutine foo
to return the line plucked from <$in> too.

--
Charles DeRykus




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

Date: Sun, 19 Aug 2007 22:57:32 +0200
From: Michele Dondi <bik.mido@tiscalinet.it>
Subject: Re: Symbolic representation of logical operators
Message-Id: <0kbhc35b6fi581ev58seuk6jrnvhc1mqmg@4ax.com>

On Sun, 19 Aug 2007 20:08:11 GMT, markhobley@hotpop.deletethisbit.com
(Mark Hobley) wrote:

>I know the empty strings and non zero values are fine for logicals, I just 
>didn't expect some of the results.

Rationale is that Perl tries to be dwimmy, and it generally succeeds.
Of course it can't get it right 100% of the times for 100% of the
people.


Michele
-- 
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^<R<Y]*YB='
 .'KYU;*EVH[.FHF2W+#"\Z*5TI/ER<Z`S(G.DZZ9OX0Z')=~/./g)x2,$_,
256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,


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

Date: Sun, 19 Aug 2007 22:08:02 GMT
From: markhobley@hotpop.deletethisbit.com (Mark Hobley)
Subject: Re: Symbolic representation of logical operators
Message-Id: <vnpmp4-u8v.ln1@neptune.markhobley.yi.org>

Josef Moellers <5502109103600001@t-online.de> wrote:

> How about "!="?

It doesn't work for two differing non-zero values:

2 != 3 ; true (an xor would be false here, because both 2 and 3 are true)

It looks like I have to use the named xor and parenthesis.

Regards,

Mark.

-- 
Mark Hobley
393 Quinton Road West
QUINTON
Birmingham
B32 1QE

Email: markhobley at hotpop dot donottypethisbit com

http://markhobley.yi.org/



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

Date: 19 Aug 2007 22:21:22 GMT
From: xhoster@gmail.com
Subject: Re: Symbolic representation of logical operators
Message-Id: <20070819182125.548$au@newsreader.com>

markhobley@hotpop.deletethisbit.com (Mark Hobley) wrote:
> Mark Hobley <markhobley@hotpop.deletethisbit.com> wrote:
> > I am not looking for a bitwise operator, I am looking for a the
> > symbolic form of a logical exclusive or to compliment the && and ||
> > operators,
>
> print (2 && 3);  # 3, Ok, I was expecting 1, but checked documentation
> print (0 && 2);  # 0, Ok
> print (2 || 3);  # 3, Ok, again documented
> print (0 || 2);  # 2, Ok documented
> print (2 ^^ 3);  # Syntax error, I hoped 0 (true xor true = false)
> print (7 ^ 2);   # 5, Ok, but that is a bitwise operator. I am testing
> logicals print (7 xor 2); # Empty string, I was expecting 0 (true xor
> true = false)
>
> I wondered why the xor gives an empty string, and not the second values
> like the && and ||,

||, &&, "and", and "or" all return the value of the last argument that
||needed
to be inspected in order to know what the truth-value of the expression is.
This makes sense, as the boolean value of the last expression it needs to
inspect is always identical to the boolean value of the expression as a
whole, and so returning it gives a correct answer and always much nice code
streamlining.  For "xor", this is not the case.  It always has to inspect
both arguments, and sometimes it has to yield a value which does not have
the same boolean value as either of its arguments does.  Therefore it
creates its result value de novo, rather than just grabbing one of the
arguments.


Xho

-- 
-------------------- http://NewsReader.Com/ --------------------
Usenet Newsgroup Service                        $9.95/Month 30GB


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

Date: Sun, 19 Aug 2007 22:22:30 GMT
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: Symbolic representation of logical operators
Message-Id: <slrnfchgfr.i36.tadmc@tadmc30.sbcglobal.net>

Mark Hobley <markhobley@hotpop.deletethisbit.com> wrote:

> print (2 && 3);  # 3, Ok, I was expecting 1, but checked documentation 
> print (2 || 3);  # 3, Ok, again documented

> print (7 xor 2); # Empty string, I was expecting 0 (true xor true = false)


You should have instead been expecting any of Perl's false values.


> I wondered why the xor gives an empty string, and not the second values like
> the && and ||,


Because xor cannot short-circuit, just as its documentation says.


> print (0 xor 0); # Empty string, why not a 0, like and and or


&& and || do not return zero, they return the last expression evaluated
(they "short circuit"). No zero here:


   perl -we 'print undef or 0'


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"


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

Date: Mon, 20 Aug 2007 03:40:47 +0200
From: "Dr.Ruud" <rvtol+news@isolution.nl>
Subject: Re: Symbolic representation of logical operators
Message-Id: <fab2gg.ng.1@news.isolution.nl>

Mark Hobley schreef:

> I am looking for a the symbolic form of 
> a logical exclusive or to compliment the && and ||
> operators, 
> 
> The logic being as follows:
> 
>  false (symbol) false = false
>  false (symbol) true = true
>  true (symbol) false = true
>  true (symbol) true = false

I guess you could use:

  !!$v1 ^ !!$v2


For example:

$ perl -wle'
  $v1 = "";
  $v2 = "0E0";
  print !!$v1 ^ !!$v2;
'
1

-- 
Affijn, Ruud

"Gewoon is een tijger."


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

Date: Mon, 20 Aug 2007 05:21:03 +0200
From: Gunnar Hjalmarsson <noreply@gunnar.cc>
Subject: Symrefs (was: how to call sub by value in variable)
Message-Id: <5isfl8F3p9t42U1@mid.individual.net>

Brian McCauley wrote:
> On Aug 19, 4:14 am, xhos...@gmail.com wrote:
>> "Petr Vileta" <sto...@practisoft.cz> wrote:
>>> Hmm, very nice ;-) By your solution I must define $dispatch{...} for all
>>> my subs.
>>
>> Just for all of the ones you want to be runnable based on data from the
>> database!
> 
> Which might be more than 3.
> 
> By my rule "if you are doing it 3 times you're (probably) doing it
> wrong" manually doing ...
> 
> %dispatch = ( foo => \&foo, bar => \&bar, baz => \&baz);
> 
> ... would be wrong.

Considering the numerous postings in this group that warn for using 
symrefs, I'm surprised to see that and other comments in this thread. Is

     perldoc -q "variable name"

totally out of date?

-- 
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl


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

Date: Mon, 20 Aug 2007 03:42:30 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: Symrefs
Message-Id: <x7d4xizxax.fsf@mail.sysarch.com>

>>>>> "GH" == Gunnar Hjalmarsson <noreply@gunnar.cc> writes:

  GH> Considering the numerous postings in this group that warn for using
  GH> symrefs, I'm surprised to see that and other comments in this thread. Is

  GH>      perldoc -q "variable name"

  GH> totally out of date?

i don't agree with using symrefs (in any form) for a dispatch table. i
haven't heard a decent argument from the OP why it can't be done in
advance as he knows the names of the subs in the DB. if he is worried
about hand editing a dispatch table with entries of 'foo' => \&foo then
that can be trivially automated. one easy answer is to put all the subs
into a separate module (namespace isn't important) and run a simple
filter to extract all the sub names into a dispatch table (modify that
module or write a fresh one). similarly a simple dbi query can dump the
names and be used to generate the dispatch table. this is no different
than using modules to generate accessors. in fact you could even do this
in some way with AUTOLOAD but that is clunky. 

checking the symbol table (even with prefix names) is no different than
using a dispatch table (as someone has said) but it also means other
code can inject legal subs into the symbol table which are not
anticipated. only by controlling the dispatch table as a lexical do you
have the full safety you want.

my rule still stand, only mung the (or even lookup) in the symbol table
when you need to do it. otherwise use any other normal technique (other
than eval which is worse!). the symbol table is just a big hash tree
which is slower and not as safe as a lexical hash.

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org


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

Date: Sun, 19 Aug 2007 16:56:49 -0700
From:  Xah Lee <xah@xahlee.org>
Subject: Xah's Edu Corner: Under the spell of Leibniz's dream
Message-Id: <1187567809.896668.228650@z24g2000prh.googlegroups.com>

Dear computing comrades,

Today, i'd like to show you a piece of literature written by a eminent
mathematician Edsger W Dijkstra.

Here's 2 interesting quote from his letter:

=E2=80=9CThe prevaling attitude was reflected in the creation of two litera=
ry
figures =E2=80=94 admittedly of rather poor literature, but nevertheless of
great paralyzing power =E2=80=94, viz. =E2=80=9Cthe average programmer=E2=
=80=9D and =E2=80=9Cthe
casual user=E2=80=9D. Up to these days, academic research in programming
methodology has been supposed to respect the severe intellectual
limitations of these fictitious morons: consequently any proposal that
required any further education of the programming person was out.=E2=80=9D

=E2=80=9C... On the other hand we should be glad that the gospel of design =
by
derivation rather by trial and error is still preached.=E2=80=9D

I happened to read it today. And, i think in your busy schedule of
checking out slashdot and blogging and driveling with your excitement
and concerns about current fashions and trends with your fellow peers
and factions; It is good once in a while to read something
unfashionable and not for-dummies.

This letter of EWD is about 16 pages.

Is somewhat a quaint rant. The first half i find interesting but
without much sympathy, perhaps because the author is mostly talking
about the situation in the mid 1990s, of which, i'm unfamiliar and too
early a period to touch me personally. But the latter part of the
letter, i find much empathy and concurrence. In particular, his
remarks related to the formal methods.

(for you math illiterates out there: the =E2=80=9Cformal=E2=80=9D here does=
 not mean
the opposite of =E2=80=9Cinformal=E2=80=9D, as in =E2=80=9Cformal dress=E2=
=80=9D vs =E2=80=9Cinformal dress=E2=80=9D.
Rather, =E2=80=9Cformal=E2=80=9D here means =E2=80=9Cmathematical reasoning=
 by symbol
manipulation; the =E2=80=98FORM=E2=80=99 in math FORMulas=E2=80=9D. (for yo=
u mathematicians
out there: the root of the word =E2=80=9Cformal=E2=80=9D as in =E2=80=9Cfor=
mal dress=E2=80=9D and
=E2=80=9Cformalism=E2=80=9D, actually are the same. They both refers to =E2=
=80=9Cform=E2=80=9D as in a
empty shell, appearance.)) (So, when you =E2=80=9Cdress up formally=E2=80=
=9D to attend
your friend's wedding or death ceremony, it literally means you are
putting on a appearance.)

Now, without further ado, the article is at:

=E2=80=9CUnder the spell of Leibniz's dream=E2=80=9D (2000) By Edsger W Dij=
kstra
http://www.cs.utexas.edu/~EWD/ewd12xx/EWD1298.PDF

  Xah
  xah@xahlee.org
=E2=88=91 http://xahlee.org/



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

Date: Mon, 20 Aug 2007 03:02:07 -0000
From:  Twisted <twisted0n3@gmail.com>
Subject: Re: Xah's Edu Corner: Under the spell of Leibniz's dream
Message-Id: <1187578927.945921.280180@q4g2000prc.googlegroups.com>

On Aug 19, 7:56 pm, Xah Lee <x...@xahlee.org> wrote:
> So, when you "dress up formally" to attend your friend's wedding...

Oh dear God, please *don't* remind me.

> "Under the spell of Leibniz's dream" (2000) By Edsger W Dijkstrahttp://www.cs.utexas.edu/~EWD/ewd12xx/EWD1298.PDF

A link to a copy in a non-toxic format would be nice.



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

Date: Mon, 20 Aug 2007 00:25:26 -0500
From: rpw3@rpw3.org (Rob Warnock)
Subject: Re: Xah's Edu Corner: Under the spell of Leibniz's dream
Message-Id: <4ZKdnQVa65RbuFTbnZ2dnUVZ_qKgnZ2d@speakeasy.net>

Twisted  <twisted0n3@gmail.com> wrote:
+---------------
| > "Under the spell of Leibniz's dream" (2000) By Edsger W
| >  Dijkstrahttp://www.cs.utexas.edu/~EWD/ewd12xx/EWD1298.PDF
| 
| A link to a copy in a non-toxic format would be nice.
+---------------

Well, the fact of the matter is that the bulk of Dijkstra's
"EWD" papers were written *long* before the web existed, typed
on a favorite manual typewriter which he continued using for the
remainder of his professional life. <http://www.cs.utexas.edu/~EWD/>
has more details on the more than one thousand "EWD"s he wrote.
Until very recently, the *only* source for these documents was
either in hardback technical books (for the few that were published)
or in the PDF bitmaps of scans of the original manually-typed pages,
which the University of Texas at Austin has generously made [and
even after Dijkstra's death continues to make] available on-line.

However, a *few* but "growing number of the PDF bitmap documents
have been transcribed to make them searchable and accessible to
visitors who are visually impaired." If you would care to volunteer
[as over sixty others have done] to contribute to the transcriptions,
see <http://www.cs.utexas.edu/~EWD/transcriptions/invitation.html>.

Otherwise, just count your blessings that these gems are available
at all...


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607



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

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


Administrivia:

#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc.  For subscription or unsubscription requests, send
#the single line:
#
#	subscribe perl-users
#or:
#	unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.  

NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice. 

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.

#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V11 Issue 772
**************************************


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