http://www.perlmonks.org?node_id=575851


in reply to parsing output of UNIX `who` command

As an alternative to parsing the output of the external command you might consider using Sys::Utmp:

use Sys::Utmp; + my $utmp = Sys::Utmp->new(); + my %users; + while ( my $utent = $utmp->getutent() ) { if ( $utent->user_process ) { $users{$utent->ut_user}++; } } + $utmp->endutent; + foreach my $user (keys %users) { printf "%s is logged in %d times\n", $user, $users{$user}; }

/J\

Replies are listed 'Best First'.
Re^2: parsing output of UNIX `who` command
by chinamox (Scribe) on Oct 02, 2006 at 10:12 UTC
    You are a saint among monks. Thank you.