SPUG: Re: IO::All

Fred Morris m3047 at inwa.net
Tue May 25 22:54:15 CDT 2004

I trimmed, and I'll top-comment (there's nothing useful interspersed).

What I was getting at is that I suppose that with the kinds of automated
testing that M. Wolf and others espouse, and given the lack of premeditated
error handing in IO::All, how do you test? And I had this glimmer of a
notion of I/O which always succeeds, and I/O which always fails... but that
both should return the "best correct" information in any case, they
basically both just always either proclaim "success" or "the world is
coming to an end".

Something about being able to get a feel for just how much error checking a
program is doing in the first place. I don't think it would work; great
idea though.

Don't ask me to write it, I have too many other things on my plate. Just
some idle Sophistry, sorry.

At 10:23 AM 5/25/04, ced at carios2.ca.boeing.com wrote:
> I wrote:
>> My first impulse is to say "well, it's easy because these sort of visonary
>> philosophers: when they fall over and can't get up, they die". [...]
>> At 9:35 PM 5/24/04, ced at carios2.ca.boeing.com wrote:
>> >[...]I try to emulate T. Christiansen's paranoia:
>> >
>> >     From the Perl Cookbook:
>> >
>> >     When opening a file or making virtually any other system call,
>> >     checking the return value is indispensable. [...]
>> So I guess what the world really needs is IO::WhatIWant and

As reported some months ago I ran into a situation dinking around with
mod_perl/A2 with Perl 5.8 on SuSE 8.2 where for reasons unknown it's doing
some ioctl call on file open and trying to perform a MIDI operation.
Why??!? Anyway, it leaves $! set after the open. Who'd'a thunk it? (note to
self: strace provides the answer... but what does it mean?)

That can't happen, can it? I mean, I've heard of peeps writing proggies to
make disks sing songs, or even walk across the floor (big disks.
dinosaurs.).. but as far as unintended weirdness goes...

>> If you have big enough computers, you can game them both. QED.
>I can't quite put my finger on it but I have this strange feeling
>I've been dissed.


>Alright, as a plodding, institutional schlep,  I'm always looking
>for a way to commit hari-kari when sometimes goes wrong with my
>moth-eaten code. Far better to die with honor than to be thrust
>through by leering barbarians.
>But, I'm jumping right on that IO::WhatIWant/ThatCantHappen bandwagon --
>you were serious right...  Anyway, they sound too complicated: could
>we just roll 'em into IO::DWIM ?

I think that's what IO::All is intended to do. ;-) Maybe Ingy would
consider changing the name? Or maybe IO::DWIM could be built on top of
IO::All and incorporate IO::WhatIWant and IO::ThatCantHappen as global
settings or something... (uh oh, I'm scaring myself)


Fred Morris

More information about the spug-list mailing list