Je voudrais stocker le contenu de /etc/passwd
dans une structure, donc je peux mettre à jour chaque valeur plus tard, mais je n'arrive pas à comprendre quelle structure utiliser.Comment stocker/etc/passwd dans un hachage ou un tableau?
#!/usr/bin/perl
use warnings;
use strict;
open PASSWD, "/etc/passwd";
while(<PASSWD>) {
chomp;
my @f = split /:/;
print "username $f[0]\n";
print "password $f[1]\n";
print "uid $f[2]\n";
print "gid $f[3]\n";
print "gecos $f[4]\n";
print "home $f[5]\n";
print "shell $f[6]\n";
print "--------------------------\n";
}
Je suppose que ce doit être un tableau de hash, où le nom d'utilisateur est la clé, mais je ne peux pas comprendre comment faire cela.
Est-ce que "Array of Hashes of Array" est le chemin à parcourir?
Moins d'amour pour ['getpw *' et ses amis] (http://perldoc.perl.org/perlfunc.html#Fetching-user-and-group-info) chaque année. – daxim
et je ne vois aucune raison évidente pour cela. J'en utilise un au moins une fois par semaine. –