diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1997-03-22 15:34:25 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-03-22 15:34:25 +1200 |
commit | 3fe9a6f19eb206c685bd7389e54e2838fdfd04b7 (patch) | |
tree | 94845bcda5f58956e6c9ccef24340d1b5c93d182 /pod/perlfaq8.pod | |
parent | 9a2c4ce3a0904191a580ec822adeb696331d31ce (diff) | |
download | perl-3fe9a6f19eb206c685bd7389e54e2838fdfd04b7.tar.gz |
[inseparable changes from match from perl-5.003_94 to perl-5.003_95]
CORE LANGUAGE CHANGES
Subject: Don't compile scalar mods of aggregates, like C<@a =~ s/a/b/>
From: Chip Salzenberg <chip@perl.com>
Files: op.c t/op/misc.t
Subject: Warn about undef magic values just like non-magic
From: Chip Salzenberg <chip@perl.com>
Files: ext/Opcode/Safe.pm sv.c t/lib/db-btree.t t/lib/db-hash.t t/lib/db-recno.t t/pragma/locale.t
CORE PORTABILITY
Subject: Win32 update (five patches)
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: MANIFEST README.win32 doio.c dosish.h pp_sys.c lib/ExtUtils/Command.pm t/comp/multiline.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/write.t win32/Makefile win32/config.H win32/config.w32 win32/win32.c win32/win32.h win32/win32aux.c win32/*.mak win32/VC-2.0/*.mak
DOCUMENTATION
Subject: INSTALL-1.8 to INSTALL-1.9 updates
Date: Tue, 25 Mar 1997 13:52:53 -0500 (EST)
From: Andy Dougherty <doughera@fractal.phys.lafayette.edu>
Files: INSTALL
Msg-ID: Pine.SOL.3.95q.970325135138.3374A-100000@fractal.lafayette.e
(applied based on p5p patch as commit 9b1ae96a0b4301a9588f62b3175bc0312302f4b9)
Subject: Document possible problems with -Mdiagnostics after upgrade
From: Chip Salzenberg <chip@perl.com>
Files: INSTALL
Subject: Mention perldelta in INSTALL
From: Chip Salzenberg <chip@perl.com>
Files: INSTALL
Subject: Describe pod format at top of INSTALL
From: Chip Salzenberg <chip@perl.com>
Files: INSTALL
Subject: Document C</a *b/x> fix
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
Subject: pods for subroutine argument autovivication
Date: Mon, 24 Mar 1997 07:25:21 +0000
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
Files: pod/perldelta.pod pod/perlsub.pod
Msg-ID: E0w9489-0005YT-00@ursa.cus.cam.ac.uk
(applied based on p5p patch as commit db8878faa51a8a1541a40745a8613adb5db155e4)
Subject: Missing item in perldiag
Date: Sun, 23 Mar 1997 09:24:09 +0000
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
Files: pod/perldiag.pod
Msg-ID: E0w8jVZ-0005va-00@ursa.cus.cam.ac.uk
(applied based on p5p patch as commit c00a529017138505fcbe538b74c7884abe1d18e1)
Subject: Pod problems & fixes
Date: Mon, 24 Mar 1997 21:31:51 +0100 (MET)
From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
Files: INSTALL lib/Term/Complete.pm lib/subs.pm pod/perlcall.pod pod/perldata.pod pod/perldiag.pod pod/perlembed.pod pod/perlguts.pod pod/perlmod.pod pod/perlop.pod pod/perlpod.pod pod/pod2html.PL
Msg-ID: 199703242031.VAA14997@bombur2.uio.no
(applied based on p5p patch as commit 55a864fe4cea1a0586891b83d359ba71e0972da5)
Subject: FAQ update
From: Nathan Torkington <gnat@prometheus.frii.com>
Files: pod/perlfaq*.pod
OTHER CORE CHANGES
Subject: Improve 'prototype mismatch' warning
From: Chip Salzenberg <chip@perl.com>
Files: global.sym op.c pod/perldiag.pod proto.h sv.c t/comp/redef.t
Diffstat (limited to 'pod/perlfaq8.pod')
-rw-r--r-- | pod/perlfaq8.pod | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/pod/perlfaq8.pod b/pod/perlfaq8.pod index 6ad5c15750..7250afbca5 100644 --- a/pod/perlfaq8.pod +++ b/pod/perlfaq8.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq8 - System Interaction ($Revision: 1.15 $) +perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 1997/03/25 18:17:12 $) =head1 DESCRIPTION @@ -379,6 +379,17 @@ easy-to-use approach that internally uses pipe(), fork(), and exec() to do the job. Make sure you read the deadlock warnings in its documentation, though (see L<IPC::Open2>). +=head2 Why can't I get the output of a command with system()? + +You're confusing the purpose of system() and backticks (''). system() +runs a command and returns exit status information (as a 16 bit value +-- the low 8 bits are the signal the process died from, if any, and +the high 8 bits are the actual exit value). Backticks ('') run a +command and return what it sent to STDOUT. + + $status = system("mail-users"); + $output = `ls`; + =head2 How can I capture STDERR from an external command? There are three basic ways of running external commands: @@ -437,7 +448,9 @@ process ID of the child. The child exec()s the command to be piped to/from. The parent can't know whether the exec() was successful or not - all it can return is whether the fork() succeeded or not. To find out if the command succeeded, you have to catch SIGCHLD and -wait() to get the exit status. +wait() to get the exit status. You should also catch SIGPIPE if +you're writing to the child -- you may not have found out the exec() +failed by the time you write. This is documented in L<perlipc>. On systems that follow the spawn() paradigm, open() I<might> do what you expect - unless perl uses a shell to start your command. In this |