Sys::Utmp3pm
Object(ish) interface to utmp files.
Usage
use Sys::Utmp;my $utmp = Sys::Utmp->new();while ( my $utent = $utmp->getutent() ){if ( $utent->user_process ){print $utent->ut_user,"\n";}}$utmp->endutent;
See also examples/pwho in the distribution directory.
Overview
Sys::Utmp provides a vaguely object oriented interface to the Unix user accounting file ( sometimes /etc/utmp or /var/run/utmp). Whilst it would prefer to use the getutent() function from the systems C libraries it will attempt to provide its own if they are missing.
This may not be the module that you are looking for - there is a User::Utmp which provides a different procedural interface and may well be more complete for your purposes.
Methods
- new
-
The constructor of the class. Arguments may be provided in Key => Value pairs : it currently takes one argument 'Filename' which will set the file which is to be used in place of that defined in _PATH_UTMP.
- getutent
-
Iterates of the records in the utmp file returning a Sys::Utmp::Utent object for each record in turn - the methods that are available on these objects are descrived in the Sys::Utmp::Utent documentation. If called in a list context it will return a list containing the elements of th Utent entry rather than an object. If the import flag ':fields' is used then constants defining the indexes into this list will be defined, these are uppercase versions of the methods described in Sys::Utmp::Utent.
- setutent
-
Rewinds the file pointer on the utmp filehandle so repeated searches can be done.
- endutent
-
Closes the file handle on the utmp file.
- utmpname SCALAR filename
-
Sets the file that will be used in place of that defined in _PATH_UTMP. It is not defined what will happen if this is done between two calls to
getutent()- it is recommended thatendutent()is called first.
Export
No methods or constants are exported by default.
Exportable constants
These constants are exportable under the tag ':constants':
ACCOUNTINGBOOT_TIMEDEAD_PROCESSEMPTYINIT_PROCESSLOGIN_PROCESSNEW_TIMEOLD_TIMERUN_LVLUSER_PROCESS
These are the values that will be found in the ut_type field of the Sys::Utmp::Utent object.
These constants are exported under the tag ':fields' :
UT_USERUT_IDUT_LINEUT_PIDUT_TYPEUT_HOSTUT_TIME
These provide the indexes into the list returned when "getutent" is called in list context.
Licence
This Software is Copyright Netscalibur UK 2001,
Jonathan Stowe 2001-2013
This Software is published as-is with no warranty express or implied.
This is free software and can be distributed under the same terms as Perl itself.
Releases
12 releases since Debian 3.0 (Woody); the text changed 10 times.