in reply to File::Temp acting strange under Windows XP

Your script produced similar results under Win7 when I ran it. However, the following ran equally well on Win7 and Lunix:

use warnings; use strict; use File::Temp qw/tempfile/; my $fh = File::Temp->new(); print "$_\n" for 0 .. 4; $fh->seek( 0, 0 ); print for <$fh>; close $fh

Output:

0 1 2 3 4

IO::File's new_tmpfile can also be used like File::Temp--in case it may work better for you:

... use IO::File; my $fh = IO::File->new_tmpfile or die $!; ...