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?
()-() \"/ `
Back to
Seekers of Perl Wisdom