PerlPowerTools

 view release on metacpan or  search on metacpan

bin/from  view on Meta::CPAN


# Parse and stash away -n switch, if provided
if ($#ARGV >= 0 && $ARGV[0] eq '-n') {
  shift (@ARGV);
  $~ = "format_n";
}

# Use system mailbox if none was specified on the command line
if ( $#ARGV < 0 ) {
  if ( ! ($user = getlogin)) {
    @a = getpwuid($<);
    $user = $a[0];
  }
  if ( -r "/var/spool/mail/$user" ) {		# Modern systems
    @ARGV = ("/var/spool/mail/$user");
  }
  elsif ( -r "/usr/mail/$user" ) {		# System V
    @ARGV = ("/usr/mail/$user");
  }
  elsif ( -r "/usr/spool/mail" ) {	# BSD
    @ARGV = ("/usr/spool/mail/$user");

bin/id  view on Meta::CPAN

	warn "$Program: Choose only one of -G, -g, -p, or -u\n";
	help();
}

my($user,$pw,$uid,$gid,$tp);

if ( @ARGV ) { # user specified
	help() if scalar(@ARGV) > 1;
	($user,$pw,$uid,$gid) = getpwnam $ARGV[0];
	if (!defined($uid) && $ARGV[0] =~ m/\A[0-9]+\Z/) {
		($user,$pw,$uid,$gid) = getpwuid $ARGV[0];
	}
	unless (defined $uid) {
		warn "$Program: $ARGV[0]: No such user\n";
		exit EX_FAILURE;
	}
}

if ( $opt_u ) { # print uid
	$tp = defined $uid ? $uid : $opt_r ? $< : $>;
	$tp = scalar getpwuid $tp || $tp if ( $opt_n );
}
elsif ( $opt_g ) { # print gid
	$tp = defined $gid ? $gid : (split(/\s+/,($opt_r)?$(:$)))[0];
	$tp = scalar getgrgid $tp || $tp if ( $opt_n );
}
elsif ( $opt_p ) { # human-readable form (names when possible, etc.)
	my($rgid,@rgids);
	if ( $user ) {
		$tp.="uid $user\n";
		$tp.="rgid $gid\n";

bin/id  view on Meta::CPAN

		while ( my($name,$pw,$gid,$members) = getgrent ) {
			push(@rgids,$gid) if ( grep($_ eq $user,split(/\s+/,$members)) );
		}
	}
	else {
		my $login = getlogin;
		unless ($login) {
			warn "$Program: getlogin failed\n";
			exit EX_FAILURE;
		}
		$tp.="login $login\n" if ( $login ne scalar getpwuid $< );

		my($uid) = scalar getpwuid $< || $<;
		$tp.="uid $uid\n";

		my($euid) = scalar getpwuid $> || $>;
		$tp.="euid $euid\n" if ( $< != $> );

		($rgid,@rgids)=split(/\s+/,$();
		my($egid)=split(/\s+/,$));
		my($nrgid) = scalar getgrgid $rgid || $rgid;
		my($negid) = scalar getgrgid $egid || $egid;
		$tp.="rgid $nrgid\n";
		$tp.="egid $negid\n" if ( $rgid != $egid );
	}
	my(%done);

bin/id  view on Meta::CPAN

		@rgids=($gid);
		while ( my($name,$pw,$gid,$members) = getgrent ) {
			push(@rgids,$gid) if ( grep($_ eq $user,split(/\s+/,$members)) );
		}
		$nruid = $user;
		$nrgid = scalar getgrgid $gid;
	}
	else {
		($rgid,@rgids)=split(/\s+/,$();
		$egid = (split(/\s+/,$)))[0];
		$nruid = scalar getpwuid $<;
		$neuid = scalar getpwuid $>;
		$nrgid = scalar getgrgid $rgid;
		$negid = scalar getgrgid $egid;
	}

	$tp=join("=","uid",($user)?$uid:$<);
	$tp.=($nruid)?"($nruid) ":" ";

	if ( !($user) && ($< != $>) ) {
		$tp.="euid=$>";
		$tp.=($neuid)?"($neuid) ":" ";

bin/lock  view on Meta::CPAN

local $main::oterm = $main::term->getlflag();
local $main::echo = &POSIX::ECHO;
local $main::noecho = $main::oterm & ~$main::echo;
$| = 1; # Make our pipes piping hot!

my $key;
my $again;

if ( $Password )
{
  $key = (getpwuid($<))[1];
}
else
{
  print "Key: ";
  noecho();
  $key = <STDIN>;
  echo();
  print "\n";
  chomp $key;

bin/lock  view on Meta::CPAN


sub usage
{
  print STDERR "usage: lock [-n] [-p] [-t timeout]\n";
  exit 1;
}

sub code
  {
    my $word = shift;
    my $pwd = (getpwuid($<))[1];
    my $salt = substr($pwd,0,2);
    return crypt($word,$salt);
  }

# upon interupt
# lock: type in the unlock key.

sub handler
  {
    my $sig = shift;

bin/ls  view on Meta::CPAN

			}
		else {
			@Entries = sort { $a cmp $b } @Entries;
			}
		}

	return @Entries;
	}

sub Getgrgid { getgrgid($_[1]) }
sub Getpwuid { getpwuid($_[1]) }

BEGIN {
	my $NO_GETGRGID = ! eval { my $dummy = ""; $dummy = (getpwuid(0))[0] };

	if( $NO_GETGRGID ) {
		no warnings qw(redefine);
		no strict qw(refs);
		*{'Getgrgid'} = sub { ($_[1], 0) };
		*{'Getpwuid'} = sub { ($_[1], 0) };
		}
	}

sub my_exit {

bin/ls  view on Meta::CPAN


When used with B<-s>, list file/directory size in 1024-byte blocks.

=item -l

Long format listing of mode -- # of links, owner name, group name,
size in bytes, time of last modification, and name.

=item -n

List numeric uid and gid (default on platforms without getpwuid()).

=item -r

Reverse sorting order.

=item -s

List file/directory size in 512-byte blocks.  (May not mean much
on non-Unix systems.)

bin/par  view on Meta::CPAN

}

# Work quietly.
local $SIG{__WARN__} = sub {} if $opts{'q'};

# Header info.
my $date = localtime;
my $cwd  = cwd;
my $user = $opts{'s'} || do {
    require Sys::Hostname;
    (getlogin || getpwuid($<) || $ENV{USER} || $ENV{LOGNAME} || 'nobody')
    . '@'
    . Sys::Hostname::hostname();
};

# Header.
print $0 eq 'shar' ? <<INTRO_SHAR : <<INTRO_PAR;
#!/bin/sh
# This is a shell archive (produced by par $VERSION).
# To extract the files from this archive, save it to some FILE, remove
# everything before the '#!/bin/sh' line above, then type 'sh FILE'.

bin/robots  view on Meta::CPAN

  {
    flock(SCORE, LOCK_UN);
    close(SCORE);
    return;
  }

  my($i, $count);

  $uid   = $<;
  $score = $Arena{'PLAYER'}{'SCORE'};
  $name  = getpwuid($uid) || '???';

  unshift(@{$High_Scores{$score}}, [ $uid, $score, $name ]);

  # Clear and rewind
  truncate(SCORE, 0);
  seek(SCORE, 0, 0);

  $i = 1;
  $count = 0;

bin/whoami  view on Meta::CPAN

use strict;

use constant EX_SUCCESS => 0;
use constant EX_FAILURE => 1;

if (@ARGV) {
	warn "usage: whoami\n";
	exit EX_FAILURE;
}
my @coderefs = (
	sub { getpwuid($>) },
	sub { require Win32; Win32::LoginName() },
	sub { getlogin },
	sub { $ENV{'USER'} },
	sub { $ENV{'USERNAME'} },
	);

foreach my $coderef ( @coderefs ) {
	my $user = eval { $coderef->() };
	next unless defined $user;
	print "$user\n";



( run in 0.324 second using v1.01-cache-2.11-cpan-8d75d55dd25 )