Path: usenet.cise.ufl.edu!newsfeeds.nerdc.ufl.edu!headwall.stanford.edu!newsfeed.stanford.edu!logbridge.uoregon.edu!news.maxwell.syr.edu!newsfeed.corridex.com!nntp2.savvis.net!inetarena.com!not-for-mail
From: Salva <
[email protected]>
Newsgroups: comp.lang.perl.announce
Subject: ANNOUNCE: sperl
Date: 26 Sep 1999 19:36:43 GMT
Organization: Deja.com - Share what you know. Learn what you don't.
Lines: 151
Approved:
[email protected] (comp.lang.perl.announce)
Message-ID: <
[email protected]>
NNTP-Posting-Host: halfdome.holdit.com
X-Disclaimer: The "Approved" header verifies header information for article transmission and does not imply approval of content.
Xref: usenet.cise.ufl.edu comp.lang.perl.announce:371
I just uploaded sperl 1.00 to CPAN
It's a script that lets you run perl scripts in remote machines through
ssh (or rsh).
Its location is:
http://www.perl.com/CPAN/authors/id/S/SA/SALVA/sperl-1.00
This is the documentation for it:
NAME
sperl - runs perl scripts in remote machines through ssh
SCRIPT CATEGORIES
Networking UNIX/System_administration Perl/Utilities
README
sperl is some kind of enhanced perl that lets you work in a
network environment and run scripts and oneliners in remote
machines without the need to
USAGE
$ sperl \
[-v] \
[-r<remote command flags>] \
[-R<remote command>] \
[-Q<perl path>] \
[<usual perl flags>] \
<[<remote user>@]remote_host>[,...] \
[<[<[<user>@]machine>:]script.pl | -e 'perl code'>] \
[<script args>]
INSTALLATION
To install sperl, copy it to some place in your path like
/usr/local/bin/sperl and allow execution of it with `chmod 755
/your/path/to/sperl'.
If you want, you can edit the script and change the PERL and
REMOTE_CMD constants at the beginning to match your real
environment.
DESCRIPTION
`sperl' lets you run a locally stored perl script in a remote
machine for which ssh (or equivalent) access is available.
It doesn't need any special module installed in local or remote
machines, just plain perl.
If there isn't script name in the command line, neither `-e'
option, sperl will try to read the code form stdin as perl use
to do.
It's possible to take the script file from another remote
machine with the syntax `machine:/path/to/script.pl' or even
`user@machine:/path/to/script.pl'.
It's also possible to include several remote host names
separated by commas and the script will be run in all of them.
For example `hippo,bugs,
[email protected]'
OPTIONS
`sperl' accepts the same command line options as `perl' does.
The options are passed unchanged to the remote perl interpreter
so some of them like `-S' are nonsense.
Additionally, it accepts some specific options:
-r<remote command flags>
pass options to ssh. For instance `-r-v'
-R<remote command>
specify the command to use in place of ssh to connect to the
remote machine. for instance `-Rrsh'.
-Q<remote perl path>
specify the location of the perl interpreter in the remote
machine. By default, sperl will try to look for the perl
path in the script first line, if it uses the notation
`#!/path/to/perl'. As its last resource it expects perl to
be in the PATH.
-v dumps the remote command to stderr before running it. This is
primary for debugging purposes.
EXAMPLES
[salvador@hippo:~]$ sperl admin@willy \
> -e 'print "hello from ".`hostname`'
hello from willy
# the -t option force ssh to allocate a new tty...
[salvador@hippo:~]$ sperl -w -r-t willy -e 'print $count+1,"\n"'
Use of uninitialized value at (eval 1) line 1.
1
# you can even invoke the perl debugger remotely:
[salvador@hippo:~]$ sperl -d -r-t willy -e 1
Loading DB routines from perl5db.pl version 1.0401
Emacs support available.
Enter h or `h h' for help.
main::(-e:1): BEGIN{eval"sub _R{".(pack"h*",shift)."}"}_R(@ARGV)
DB<1> p `hostname`
p `hostname`
willy
DB<2> ...
# running the same code in several machines:
[salvador@hippo:~]$ sperl bugs,willy,hippo -e \
> 'chomp($h=`hostname`);print "hello from $h!!!\n"'
hello from bugs!!!
hello from willy!!!
hello from hippo!!!
CHANGES
sperl 1.00 Thu Sep 23 1999
First public release
BUGS AND LIMITATIONS
This is a beta release so expect errors in it.
Lots of spelling errors in the docs... Help me!!!
The order of the options in the command line is very inflexible.
Switch parsing for the first line of the script is not very
clever and it will produce unexpected results if something
complex is there.
Scripts with `__END__' or `__DATA__' sections will fail.
I don't know if there is any possibility to make this to work in
Microsoft's world.
AUTHOR
Salvador Fandi�o Garc�a <
[email protected],
[email protected]>
SEE ALSO
the perl(1) manpage, the ssh(1) manpage or the rsh(1) manpage,
the perlrun(1) manpage.
Sent via Deja.com
http://www.deja.com/
Share what you know. Learn what you don't.