in reply to elevated privileges for a single call
G'day adalby,
Welcome to the monastery.
See perlvar for special variables that capture the type of information you're after. Here's a quick example with $^X, $0 and $$:
$ cat fred.pl #!/usr/bin/env perl use Cwd qw{abs_path}; print "Perl executing the script: ", `which $^X`; print "Script being executed: ", abs_path($0), "\n"; print "PID: $$\n";
$ fred.pl Perl executing the script: /Users/ken/perl5/perlbrew/perls/perl-5.14.2 +_WITH_THREADS/bin/perl Script being executed: /Users/ken/tmp/fred.pl PID: 33980
Variables relating to permissions include: $< (real user id), $> (effective user id), $( (real group id), $) (effective group id).
The English module provides longer, more meaningful names for these punctuation variables. Don't forget to load it as:
use English qw{-no_match_vars};
You might also find perlsec to be useful (even if only for additional examples using these special variables).
-- Ken
In Section
Seekers of Perl Wisdom