Added support for IO::String and "in memory" files