necesito validar un usuario con perl, comparandolo con el d un txt

wizard
25 de Abril del 2003
Tengo que realizar un ejercicio para clase y lo he intentado de muchas formas pero no me acaba d funcionar. Necesito ayuda please!!!!!
El ejercicio consiste en validar un usuario(introducir un login y un passord) en windows y compararlo con dos archivos de texto(uno contiene el login y el otro el password). Si el login y el password coincide muestra una pagina q da un mensaje d bienvenida, en caso contrario la pagina muestra usuario incorrecto. El codigo que he utilizado es el siguiente(Tambien he utilizado un archivo donde se supone que se guardan los archivos):
#!/usr/bin/perl
if($ENV{'REQUEST_METHOD'}eq "POST")
{
read(STDIN,$entrada,$ENV{'CONTENT_LENGTH'});
}
elsif($ENV{'REQUEST_METHOD'}eq "GET")
{
$entrada=$ENV{'QUERY_STRING'};
}
else
{
$entrada=$ARG[0];
}
foreach(split(/&/,$entrada))
{
($clave,$valor)=split(/=/,$_);
$clave=~ tr/+/ /;
$clave=~ s/%([dA-Fa-f][dA-Fa-f])/pack("C",hex($1))/eg;
$valor=~ tr/+/ /;
$valor=~ s/%([dA-Fa-f][dA-Fa-f])/pack("C",hex($1))/eg;
$parametro{$clave}=$valor;
}

$user='usuario1';
$pass='user1';


$pathuser = "user.txt";
$pathuser =~ s/%2F///g;
$pathpass = "pass.txt";
$pathpass =~ s/%2F///g;
$guarda = "guarda.txt";
$guarda =~ s/%2F///g;
@listauser;
@listapass;

open(ENTRADA, "$guarda");
while($linia=){
$users=$linia;
}
close(ENTRADA);

open(USUARI,"$pathuser");
for($i=1;$i;
$listauser[$i]=$linia;
chomp($listauser[$i]);
}
close (USUARI);

open(PASS,"$pathpass");
for($i=1;$i;
$listapass[$i]=$linia2;
chomp($listapass[$i]);
}
close (PASS);

$correcto=1;

for($aux=1;$auxUsuario correcto$user";
print "Usuario autentificado";
print "Eres el usuario $user";
$correcto=0;
}
}
}if($correcto==1){print"Usuario incorrecto";
}
Supongo que se podrá hacer de forma más facil, además lo de crear el fichero con los usuarios registrados no hace falta.