Relink to use temp file forced on current dir in mpeix
[p5sagit/p5-mst-13.2.git] / pod / perlfaq8.pod
index 55c3cbf..d5c63da 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perlfaq8 - System Interaction ($Revision: 1.27 $, $Date: 2005/12/31 00:54:37 $)
+perlfaq8 - System Interaction ($Revision: 3606 $)
 
 =head1 DESCRIPTION
 
@@ -666,8 +666,8 @@ files:
     use IPC::Open3;
     use Symbol qw(gensym);
     use IO::File;
-    local *CATCHOUT = IO::File->new_tempfile;
-    local *CATCHERR = IO::File->new_tempfile;
+    local *CATCHOUT = IO::File->new_tmpfile;
+    local *CATCHERR = IO::File->new_tmpfile;
     my $pid = open3(gensym, ">&CATCHOUT", ">&CATCHERR", "cmd");
     waitpid($pid, 0);
     seek $_, 0, 0 for \*CATCHOUT, \*CATCHERR;
@@ -680,7 +680,7 @@ should work just as well, without deadlocking:
     use IPC::Open3;
     use Symbol qw(gensym);
     use IO::File;
-    local *CATCHERR = IO::File->new_tempfile;
+    local *CATCHERR = IO::File->new_tmpfile;
     my $pid = open3(gensym, \*CATCHOUT, ">&CATCHERR", "cmd");
     while( <CATCHOUT> ) {}
     waitpid($pid, 0);
@@ -1005,13 +1005,19 @@ On POSIX systems, you can test whether your own process group matches
 the current process group of your controlling terminal as follows:
 
     use POSIX qw/getpgrp tcgetpgrp/;
-    open(TTY, "/dev/tty") or die $!;
-    $tpgrp = tcgetpgrp(fileno(*TTY));
-    $pgrp = getpgrp();
-    if ($tpgrp == $pgrp) {
-        print "foreground\n";
+    
+    # Some POSIX systems, such as Linux, can be
+    # without a /dev/tty at boot time. 
+    if (!open(TTY, "/dev/tty")) {
+        print "no tty\n";
     } else {
-        print "background\n";
+        $tpgrp = tcgetpgrp(fileno(*TTY));
+        $pgrp = getpgrp();
+        if ($tpgrp == $pgrp) {
+            print "foreground\n";
+        } else {
+            print "background\n";
+        }
     }
 
 =head2 How do I timeout a slow event?
@@ -1251,6 +1257,14 @@ It's a perl4-style file defining values for system networking
 constants.  Sometimes it is built using h2ph when Perl is installed,
 but other times it is not.  Modern programs C<use Socket;> instead.
 
+=head1 REVISION
+
+Revision: $Revision: 3606 $
+
+Date: $Date: 2006-03-06 12:05:47 +0100 (lun, 06 mar 2006) $
+
+See L<perlfaq> for source control details and availability.
+
 =head1 AUTHOR AND COPYRIGHT
 
 Copyright (c) 1997-2006 Tom Christiansen, Nathan Torkington, and