Chs IMHO он просто пропустил момент записи в файл при пререписывании примера из учебника:
DimoninGИ как дополнение к совету
Chs...
open(FILE, ">>users.base") || die "Can\'t open file!";
print FILE "$ff{nic}\\n";
print FILE "$ff{pass}\\n";
print FILE "$ff{name}\\n";
print FILE "$ff{email}\\n";
...
"$ff{email}\\n" != "$ff{email}"
Считывается, как ни странно
, именно то что ты записал...