Hola esta es el script que tengo y funciona correctamente
#!/usr/bin/perl
use strict;
use warnings;
use EBox;
use EBox::UsersAndGroups::User;
EBox::init();
my @users = ();
open(my $USERS,"/tmp/users") or die "Error opening 'users' file: $!";
while(my $line = <$USERS>) {
chomp ($line);
my $user;
my ($username,$givenname,$surname,$password, $group) = split(',',$line);
$user->{'user'} = $username;
$user->{'givenname'} = $givenname;
$user->{'surname'} = $surname;
$user->{'password'} = $password;
push (@users, $user);
}
close($USERS);
foreach my $user (@users) {
EBox::UsersAndGroups::User->create($user, 0);
}
1;
Nota
1 El Script debes ponerlo en /tmp y el archivo de datos
2 El formato del archivo es usuario,nombre,apellido,clave,
Saludos desde Panamá y espero que les sirva