Copyright (C) 2000-2012 |
Manpages ShellSection: Perl Programmers Reference Guide (3perl)Updated: 2001-02-22 Index Return to Main Contents NAMEShell - run shell commands transparently within perlSYNOPSISSee below.DESCRIPTIONDate: Thu, 22 Sep 94 16:18:16 -0700 Message-Id: <9409222318.AA17072@scalpel.netlabs.com> To: perl5-porters@isu.edu From: Larry Wall <lwall@scalpel.netlabs.com> Subject: a new module I just wroteHere's one that'll whack your mind a little out.
#!/usr/bin/perl use Shell; $foo = echo("howdy", "<funny>", "world"); print $foo; $passwd = cat("</etc/passwd"); print $passwd; sub ps; print ps -ww; cp("/etc/passwd", "/etc/passwd.orig");That's maybe too gonzo. It actually exports an AUTOLOAD to the current package (and uncovered a bug in Beta 3, by the way). Maybe the usual usage should be
use Shell qw(echo cat ps cp);Larry If you set $Shell::capture_stderr to 1, the module will attempt to capture the STDERR of the process as well. The module now should work on Win32.
JendaThere seemed to be a problem where all arguments to a shell command were quoted before being executed. As in the following example:
cat('</etc/passwd'); ls('*.pl');really turned into:
cat '</etc/passwd' ls '*.pl'instead of:
cat </etc/passwd ls *.pland of course, this is wrong. I have fixed this bug, it was brought up by Wolfgang Laun [ID 20000326.008] OBJECT ORIENTED SYNTAXShell now has an OO interface. Good for namespace conservation and shell representation.
use Shell; my $sh = Shell->new; print $sh->ls;Casey AUTHORLarry WallChanges by Jenda@Krynicky.cz and Dave Cottle <d.cottle@csc.canterbury.ac.nz> Changes and bug fixes by Casey Tweten <crt@kiski.net>
IndexThis document was created by man2html, using the manual pages. Time: 10:17:53 GMT, May 04, 2024 |