Hallo Alain
Mir ist da noch etwas in den Sinn gekommen, dass Dir vielleicht hilft. Du arbeitest ja mit Perl. Da gibt es ein Modul von CPAN das genau solche Aufgaben handelt. Nachfolgend ein Auszug des entsprechenden Readme.
Gruss Daniel
NAME
Apache::Htpasswd - Manage Unix crypt-style password file.
SYNOPSIS
use Apache::Htpasswd;
$foo = new Apache::Htpasswd("path-to-file");
# Add an entry
$foo->htpasswd("zog", "password");
# Change a password
$foo->htpasswd("zog", "new-password", "old-password");
# Change a password without checking against old password
# The 1 signals that the change is being forced.
$foo->htpasswd("zog", "new-password", 1);
# Check that a password is correct
$pwdFile->htCheckPassword("zog", "password");
# Fetch an encrypted password
$foo->fetchPass("foo");
# Delete entry
$foo->htDelete("foo");
# If something fails, check error
$foo->error;
# Write in the extra info field
$foo->writeInfo("login", "info");
# Get extra info field for a user
$foo->fetchInfo("login");