It's time to give IO::Scalar the big goodbye. (well, at least after one last bug fix)
The problem is that it doesn't behave like an IO::Handle properly. It's sorta kinda the same, but sufficiently different that you should expect it will break on you eventually.
IO::String on the other hand, is smaller, lighter, doesn't come with 5 other related modules who's tests could fail and block you, and behaves EXACTLY like a filehandle, even down to its seek-past-end-of-file behaviour.
And more importantly, that means it actually works with modules like Archive::Zip that care about seeking. If you currently use IO::Scalar, your module won't work properly with Archive::Zip.
I tried porting over Archive::Builder a couple of days ago as part of my own effort to move all of my CPAN modules over, and in that case it was a simple s/IO::Scalar/IO::String/ and everything Just Worked.
So if your CPAN module uses IO::Scalar currently, consider moving. It may seem a small thing, but it means your module will be able to Play Well With Others much more cleanly.
That is all.