Based on our experience with File::Temp in the test suite, I think we
can avoid calling 'chmod' entirely (regardless of OS) and can simply use
File::Temp's functional interface (which avoids that warning I mentioned
in an earlier post).

François:  If the patch attached works for you on Windows, you can apply
it to trunk.  It works for me on Linux.

kid51
Index: config/auto/perldoc.pm
===================================================================
--- config/auto/perldoc.pm      (revision 28197)
+++ config/auto/perldoc.pm      (working copy)
@@ -20,7 +20,7 @@
 use strict;
 use warnings;
 
-use File::Temp;
+use File::Temp qw( tempfile );
 use base qw(Parrot::Configure::Step);
 use Parrot::Configure::Utils ':auto';
 
@@ -37,9 +37,7 @@
     my ( $self, $conf ) = @_;
 
     my $cmd = $conf->data->get_p5('scriptdirexp') . q{/perldoc};
-    my $tmpfile = File::Temp->new( UNLINK => 1, SUFFIX => '.tmp' );
-    my $mode = 0666;
-    chmod $mode, $tmpfile;
+    my ( $tmpfile, $fname ) = tempfile( UNLINK => 1 );
     my $content = capture_output("$cmd -ud $tmpfile perldoc") || undef;
 
     return 1 unless defined( $self->_initial_content_check($conf, $content) );

Reply via email to