Bonjour à tous,

je suis vraiment débutant en programmation.
Je rencontre parfois un désagrément avec ma box fibre qui change d'adresse IP Publique parfois, pourtant censée être fixe.

Pour connaitre ma nouvelle IP quand je ne suis pas chez moi, j'ai mis en place un script qui m'envoie par mail mon IP.
J'ai une VM en debian qui fait ce travail. Mais comme je ne veux pas être spammé toutes les heures (selon la crontab) avec un mail comportant mon adresse ip, je voudrais avoir un mail seulement si mon adresse IP publique n'est plus celle attendue.

voici le code (avec anonymisation)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl
my $IP = '222.222.222.222';
my $url = 'http://icanhazip.com';
my $html = qx{wget --quiet --output-document=- $url};
print "$IP est IP Attendue\n";
print "$html est l'adresse reelle\n";
# Envoie de l'adresse par mail
if ("$html" != "$IP")
{
$to = 'monID@gmail.com';
$from = 'monID@gmail.com';
$subject = 'IP Email';
$message = $html;
 
open(MAIL, "|/usr/sbin/sendmail -t");
 
# Email Header
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n\n";
# Email Body
print MAIL $message;
 
close(MAIL);
print "Email Sent Successfully\n";
 
} else {
 
print "l'adresse n'a pas changé, pas de mail envoyé\n";
 
}
Ce que j'obtiens à l'exécution du script :

222.222.222.222 est IP Attendue
222.222.222.223 est l'adresse reelle
l'adresse n'a pas changé, pas de mail envoyé

Bon la mise en forme laisse à désirer, j'en conviens.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
my $url = 'http://icanhazip.com';
my $html = qx{wget --quiet --output-document=- $url};
donne l'adresse IP avec un retour à la ligne.

Je ne sais pas comment faire pour que PERL analyse les deux chaînes présentées.
J'aimerais qu'il analyse deux chaines de caractères et voient si ce sont les même ou pas.

Est-ce que quelqu'un aurait la gentillesse de m'éclairer. Je trouve des choses bien compliquées sur le net pour le moment ?

Merci à vous

Virtua