I discovered a possible bug. It appears that if you have a MacPerl script
running that is waiting for input from STDIN, and then you close the output
window without entering anything, MacPerl enters into some kind of infinite
loop condition which makes it impossible to stop the script, quit MacPerl,
or run any other scripts unless you force-quit (cmd-opt-esc) MacPerl.

If you try to quit, MacPerl asks to abort the current script, and if you say
yes, it pauses then resumes with a spinning camel-beachball. If, however,
ctrl-d is pressed while the output window is open, the script will resume.
There is no other way short of a force quit to stop a script waiting for
input. But once you have closed the output window, you are SOL.

There is probably a more official place to report this kind of a thing, but
I wanted list members to be aware of this "bug". I believe that 5.2.0 would
not allow the output window to be closed if waiting for input, but I don't
have that version to verify. You can still do some limited things in MacPerl
while it is hosed like this. Is there some kind of threading used that
permits this?

Test case:

__BEGIN__
print "Enter string: ";
$string = <>;
print $string;
__END__

1. close output window.
2. Now you are SOL. MacPerl can only be shut down with the secondarily
infamous three-finger salute--cmd-opt-esc.

Keary Suska
Esoteritech, Inc.
"Leveraging Open Source for a better Internet"

Reply via email to