ignatz has asked for the wisdom of the Perl Monks concerning the following question:
Fellow Monks,
I've inherited an application written without strict that is chocked full of complex backtick commands including some that use sudo to run as root. While playing with this pile of spaghetti I've noticed some curious behavior about things in Perl that I don't usually think about:
Questions:#!/usr/local/bin/perl -w use strict; my @commands = ('sudo /foo/bar/paco', '/foo/bar/paco', 'ls -laF'); for (@commands) { my $return = `$_`; print "\$ $_\n"; print "ERRNO = $!\n"; print "CHILD_ERROR = $?\n"; print $return; print "\n******************************************\n\n"; }
- How do you get the value of $? from a command run as a different user?
- Why does CHILD_ERROR = Illegal seek return for successful commands?
- Is there any point to trying to refactor this style of coding, or is it better to start over from scratch?
()-() \"/ `
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Backticks, $?, and Sudo
by sauoq (Abbot) on Jan 17, 2003 at 04:02 UTC | |
by ignatz (Vicar) on Jan 17, 2003 at 18:12 UTC | |
by sauoq (Abbot) on Jan 17, 2003 at 18:34 UTC | |
by ignatz (Vicar) on Jan 17, 2003 at 21:14 UTC | |
by sauoq (Abbot) on Jan 17, 2003 at 21:26 UTC | |
Re: Backticks, $?, and Sudo
by dug (Chaplain) on Jan 17, 2003 at 04:48 UTC | |
Re: Backticks, $?, and Sudo
by helgi (Hermit) on Jan 17, 2003 at 11:03 UTC |
Back to
Seekers of Perl Wisdom