En este trocito de código nunca entra en el if():
if(-e $F_GRUP){
open(ENTRADA1, $F_GRUP) or die "Error: no se puede abrir el fichero $!";
while($linea1 = <ENTRADA1>){
@linea1 = split /:/, $linea1; # Meto en el vector los campos de /etc/grup
print "linea1 vale $linea1";
if ($linea1 eq "") {
print "EOOOO";
@names = split /,/, $linea1; # Meto en un vector los nombres de los usuarios secundarios
}
print "\n";
No sé si estoy ...