Unix-setuid
view release on metacpan or search on metacpan
lib/Unix/setuid.pm view on Meta::CPAN
{
package Unix::setuid::euid;
sub TIESCALAR { bless [], $_[0] }
sub FETCH { $> }
sub STORE { $> = $_[1] }
}
{
package Unix::setuid::ruser;
sub TIESCALAR { bless [], $_[0] }
sub FETCH { my @pw = getpwuid($<); @pw ? $pw[0] : $< }
sub STORE {
if ($_[1] =~ /\A\d+\z/) {
$< = $_[1];
} else {
my @pw = getpwuid($_[1]);
die "No such user '$_[1]'" unless @pw;
$< = $pw[2];
}
}
}
{
package Unix::setuid::euser;
sub TIESCALAR { bless [], $_[0] }
sub FETCH { my @pw = getpwuid($>); @pw ? $pw[0] : $> }
sub STORE {
if ($_[1] =~ /\A\d+\z/) {
$> = $_[1];
} else {
my @pw = getpwnam($_[1]);
die "No such user '$_[1]'" unless @pw;
$> = $pw[2];
}
}
}
( run in 0.302 second using v1.01-cache-2.11-cpan-8d75d55dd25 )