Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Shell
run shell commands transparently within perl

Shell - run shell commands transparently within perl


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 capture 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.canterbury.ac.nz>

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

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy