in reply to Use of uninitialized value in open second time but not first.

The problem is related to the use of memory files. Apparently Perl issues the uninitialized warning upon the second time (and third etc) a memory file is created.
#!/usr/bin/perl -w my $output; print "first\n"; open (FH, '>', \$output); print FH "Hello world\n"; close(FH); $output=undef; print "second\n"; open (FH, '>', \$output); print FH "Hello world\n"; close(FH);

Output:

first second Use of uninitialized value in open at o4.pl line 10.
Seems to me like an overzealous action by Perl's warning system but nothing alarming so far.
Like said by the other monks you can set $output to the empty string as a workaround to avoid the warning alltogether.