Bonjour ;
Mon problème est dans le teste du résultat grep or j'ai écrit le bout de code suivant:
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
#!/usr/bin/perl
 
open (SORTIE, ">res.txt") or die ("probleme d'ouverture");
 
        if (-e "/etc/sysctl.conf"){
 
                         $cmd=" grep  net.ipv4.icmp_echo_ignore_broadcasts  /etc/sysctl.conf ";
        if ($cmd ne ""){
								exec "$cmd 1>res.txt ";
                                print SORTIE exec($cmd);
 
                                 }
                        else {
                              print SORTIE "La chaine n'existe pas dans le fichier\n";  
                                }}
        else {
                print SORTIE " Le fichier n'existe pas\n ";}
 
 
close(SORTIE);

Lorsque je lance ce script avec "net.ipv4.icmp_echo_ignore_broadcasts" qui ne se trouve pas dans le fichier /etc/sysctl.conf , j'ai l'impression au vu du fichier res.txt qu'il rentre toujours dans le bloc if.

Pourriez vous m'éclairer svp?

(P.S: soyez indulgents si j'ai écrit de grosses bêtises, je débute...)