CfgTie
view release on metacpan or search on metacpan
lib/CfgTie/TieShadow.pm view on Meta::CPAN
&CfgTie::TieShadow_rec'TIEHASH(0,@x);
return $x[2]; #Corresponds to the id
}
sub EXISTS
{
my ($self,$id) = @_;
if (exists $CfgTie::TieShadow_rec'by_id{$id}) {return 1;}
# Get the information from the system and store it for later
my @x = getpwuid $id;
if (! scalar @x) {return 0;}
tie %{$CfgTie::TieShadow_rec'by_name{$x[0]}}, 'CfgTie::TieShadow_rec',@x;
$CfgTie::TieShadow_rec'by_id{$id} = $CfgTie::TieShadow_rec'by_name{$x[0]};
return 1;
}
sub FETCH
{
my ($self,$id) = @_;
lib/CfgTie/TieUser.pm view on Meta::CPAN
&CfgTie::TieUser_rec'TIEHASH(0,@x);
return $x[2]; #Corresponds to the id
}
sub EXISTS
{
my ($self,$id) = @_;
if (exists $CfgTie::TieUser_rec'by_id{$id}) {return 1;}
# Get the information from the system and store it for later
my @x = getpwuid $id;
if (! scalar @x) {return 0;}
tie %{$CfgTie::TieUser_rec'by_name{lc($x[0])}}, 'CfgTie::TieUser_rec',@x;
$CfgTie::TieUser_rec'by_id{$id} = $CfgTie::TieUser_rec'by_name{$x[0]};
return 1;
}
sub FETCH
{
my ($self,$id) = @_;
lib/CfgTie/TieUser.pm view on Meta::CPAN
my $lastlog_fmt="L a16 A16"; #on sunos "L A8 A16"
sub lastlog_FETCH($)
{
use User::pwent;
use IO::Seekable qw(SEEK_SET);
my $LASTLOG= new Secure::File "</var/log/lastlog";
return unless defined $LASTLOG;
my $User = shift;
my $U = ($User =~ /^\d+$/) ? getpwuid($User) : getpwnam($User);
if (!$U) {goto ret_from_here;}
my $R;
my $sizeof = length(pack($lastlog_fmt,()));
if ($LASTLOG->seek($U->uid + $sizeof,SEEK_SET) &&
$LASTLOG->read($buffer, $sizeof) == $sizeof)
{
#time line host
$R = [unpack($lastlog_fmt, $buffer)];
}
( run in 0.260 second using v1.01-cache-2.11-cpan-8d75d55dd25 )