[Perl - Débutant]Probleme de comparaison de 2 chaines

bonjour,
débutant en perl depuis tres peu de temps, j’essaye de mettre en place un script permettant de récupérer mon adresse publique, et de la comparer à celle d’un fichier de configuration (vsftp).

Voici mon code :

##########################
##### IP PUBLIQUE ACTUELLE #####
##########################
use LWP::Simple;
#my $page=get("http://www.adresseip.com/"); OU page de la livebox
my $page=get("http://192.168.1.1");
if ($page=~m/(\d+\.\d+\.\d+\.\d+)/)
{
        print "IP publique actuelle : $1\n"." ".$2;
}


###########################
##### IP PUBLIQUE DU FICHIER #####
###########################
my $ligne;
my $nom_fichier="/etc/vsftp.conf";
$ligne = `grep -i "pasv_address" $nom_fichier`;
my $file_ip;
my $longueur_ip = length($ligne);
$file_ip=substr($ligne,13,$longueur_ip-1);
print "IP vsftpdae actuelle : $file_ip";


############################
##### COMPARAISON DES DEUX #####
############################
if($ip == $file_ip)
{
        $res_cmp="1";
}
else
{
        $res_cmp="0";
}
print $1." ET ".$file_ip." donnent ".$res_cmp."\n";

Le probleme viens lors de la comparaison, qui ne s’effectue pas correctement (toujours valeur a 0). Je suppose que c’est dû au type de “$1” (ip publique que je recupère).

Avez vous une idée ???

Merci
Ced[/code]

if($ip == $file_ip) { $res_cmp="1"; } else { $res_cmp="0"; } N’est valable que pour du numérique ici tu compare des chaînes essaye avec eq

if($ip eq $file_ip) { $res_cmp="1"; } else { $res_cmp="0"; } http://www.plb.fr/ccm/perl/perlop.php