DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

/usr/man/cat.3/Shell.3.Z(/usr/man/cat.3/Shell.3.Z)





NAME

       Shell - run shell commands transparently within perl


SYNOPSIS

       See below.


DESCRIPTION

         Date: 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 wrote

       Here'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", "/tmp/passwd");

       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 cap-
       ture the STDERR of the process as well.

       The module now should work on Win32.

        Jenda

       There 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 *.pl

       and of course, this is wrong.

       I have fixed this bug, it was brought up by Wolfgang Laun [ID
       20000326.008]

       Casey

       OBJECT ORIENTED SYNTAX

       Shell now has an OO interface.  Good for namespace conservation and
       shell representation.

        use Shell;
        my $sh = Shell->new;
        print $sh->ls;

       Casey


AUTHOR

       Larry Wall

       Changes by Jenda@Krynicky.cz and Dave Cottle <d.cottle@csc.canter-
       bury.ac.nz>

       Changes and bug fixes by Casey West <casey@geeknest.com>

perl v5.8.0                       2002-06-01                          Shell(3)
See also DBI::Shell(3):  man 3 DBI::Shell

Man(1) output converted with man2html