endnetent
Šios paprogramės atlieka tokias pačias funkcijas kaip ir jų kopijos sistemų bibliotekoje. Sarašo kontekste, gražinamos reikšmės iš įvairių gražinančių paprogramių yra:
($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell,$expire) = getpw*
($name,$passwd,$gid,$members) = getgr*
($name,$aliases,$addrtype,$length,@addrs) = gethost*
($name,$aliases,$addrtype,$net) = getnet*
($name,$aliases,$proto) = getproto*
($name,$aliases,$port,$proto) = getserv*
(Jei įvestis neegzistuoja - gaunamas tuščias sarašas.)
Tiksli $gcos lauko reikšmė kinta, bet dažniausia ji talpina tikra vartotojo varda (ne prisijungimo) bei kita informacija, priklausančia jam. Visgi neverta aklai pasitikėti $gcos, nes daugumoje sistemų vartotojai gali pasikeisti savo infomacija, tad ji gali būti nepatikima (žr. perlsec). $passwd ir
$shell, vartotojo užkoduotas slaptažodis bei prisijungimo šelas, yra nepatikimi dėl tos pačios priežasties.
Skaliariniame kontekste, gražinamas vardas, nebent funkcijoje buvo ieškoma pagal varda, tuo atveju gaunami kitokie rezultatai. (Jei įvestis neegzistuoja, gaunamas neapibrėžtumas.) Pvz:
$uid = getpwnam($name);
$name = getpwuid($num);
$name = getpwent();
$gid = getgrnam($name);
$name = getgrgid($num);
$name = getgrent();
#ir t.t.
getpw*() laukai $quota, $comment, ir $expire specialūs atvejai, turint omeny, kad daugumoje sistemų jie nepalaikomi. Jei nepalaikomas $quota - jo reikšmė - tuščias skaliaras. Jei palaikomas, jis dažniausia užšifruoja disko norma. Jei $comment laukas nepalaikomas, analogiškas tuščias skaliaras. Jei palaikomas jis dažniausia užkoduoja administruojama komentara apie vartotoja. Kai kuriose sistemose laukas $quota gali būti $change ar $age, laukai, susijæ su slaptažodžio amžiumi. Kai kuriose sistemose laukas $comment gali būti $class.
$expire laukas, jei egzistuoja, saugo account'o ar slaptažodžio galiojimo perioda. Dėl egzistavimo ir tikslios reikšmės sistemoje, reikėtų pasikonsultuoti su getpwnam(3) dokumentacija ir pwd.h
failu. Taip pat, ka reiškia $quota ir $comment, ir ar yra $expire laukai galima sužinoti iš Perlo, pasinaudojant Config
moduliu ir d_pwquota
, d_pwage
, d_pwchange
, d_pwcomment
bei d_pwexpire
reikšmėmis. Slaptažodžių shadow failai yra palaikomi tik tuo atveju, jei gamintojas intuityviai įdiegė, kad iškviečiant C bibliotekų paprogrames gaunamos shadow versijos, turint rpiviletgijų, ar egzistuojant shadow(3) funkcijoms kaip
System V (Solaris, Linux...) Tos sistemos, kuriose įdiegtas savarankiškas shadow slaptažodžių valdymas, dažniausiai nėra palaikomos.
$members reikšmė gražinama getgr*() yra tarpais atskirtas grupių narių prisijungimo vardų sarašas.
gethost*() funkcijoms, jei h_errno
kintamasis palaikomas C, jsi bus gražinamas per $?
, jei nepavyksta funkcijos kvietimas. @addrs
reikšmė, gražinama sėkmingo kvietimo yra plikų adresų, gražintų atitinkamos sitemos bibliotekos kvietimo, sarašas. Interneto domenuose, kiekvienas adresas yra keturių baitų ilgio ir galima juos išpakuoti parašant:
($a,$b,$c,$d) = unpack('C4',$addr[0]);
Socket biblioteka šitai truputėlį palengvina:
use Socket;
$iaddr = inet_aton("127.1"); # ar koks adresas bebūtų
$name = gethostbyaddr($iaddr, AF_INET);
# arba kitu atveju
$straddr = inet_ntoa($iaddr);
Jei pavargsti beprisimininėdamas kuris gražinamojo sarašo elementas kuria reikšmæ turi, interfeisai yra standartiniuose moduliuose: File::stat
, Net::hostent
, Net::netent
, Net::protoent
,
Net::servent
, Time::gmtime
, Time::localtime
ir User::grent
. Tai perrašo normalius built-inus, pateikiant versijas, kurios gražina objektus su atitinkamais vardais kiekvienam laukui. Pvz:
use File::stat;
use User::pwent;
$is_his = (stat($filename)->uid == pwent($whoever)->uid);
Net jei atrodo, kad tai tie patys metodiniai iškvietimai (uid), taip nėra, nes File::stat
objektas skiriasi nuo User::pwent
objekto.