Note to self: IO::String might break... consider Temp::File

merlyn on 2005-05-12T11:33:52

In the update of CGI::Prototype::Mecha, it didn't occur to me that IO::String wouldn't "work" in the way that I wanted it to work on Perl 5.6.1, even though it installs and tests cleanly on 5.6.1. (It worked fine in 5.8.6 on my laptop.) So, I had to fall back to using a File::Temp and a hard real file to provide fake STDIN for the fake CGI.pm object.

Look at the diffs between version 0.20 and 0.21 to see how I changed it.


Curious: broken how?

runrig on 2005-05-12T16:43:10

Just wondering if you can summarize in what way it's broken, and if IO::Scalar would be broken in the same way (or broken in an entirely different way :-)

Re:Curious: broken how?

runrig on 2005-05-12T17:35:40

I may have answered my own question. I've played with this a bit on 5.6 on Unix vs. 5.8 on Windows, and it seems like the local *STDIN doesn't unlocalize after the enclosing block in 5.6. If I use the tied interface in IO::Scalar, it works ok if I untie *STDIN at the end of the block, but with "local" I shouldn't have to (and I don't have to in 5.8).