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

**URL:** <https://www.debian-fr.org/t/perl-debutant-probleme-de-comparaison-de-2-chaines/7526>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 3:50 UTC](https://www.debian-fr.org/t/perl-debutant-probleme-de-comparaison-de-2-chaines/7526 "2016-02-20T15:50:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ced12](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/35a633/32.png) [@ced12](https://www.debian-fr.org/u/ced12)\
**Post date:** [Février 20, 2016, 3:50 UTC](https://www.debian-fr.org/t/perl-debutant-probleme-de-comparaison-de-2-chaines/7526/1 "2016-02-20T15:50:01Z")

</div>

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 :

```auto
##########################
##### 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]

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 3:50 UTC](https://www.debian-fr.org/t/perl-debutant-probleme-de-comparaison-de-2-chaines/7526/2 "2016-02-20T15:50:04Z")

</div>

`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](http://www.plb.fr/ccm/perl/perlop.php)
