use IO::Scalar; my $bufferVar = ""; my $SH = new IO::Scalar \$bufferVar; print $SH "Hi there, 1."; ### This works just dandy. select ($SH); print "Hi there, 2."; ### This also works. $bufferVar now contains "Hi there, 1.Hi there, 2." $~ = "myFirstFormat"; ### Allegedly this is happy. I have tested this format independently, and it works fine. write ; ### This barfs.