Bonjour.

J'ai un test à base de =~ qui ne fonctionne pas sans que je comprenne pourquoi.

etienne@samba-eu:~$ ls -l /var/run/usbmount/
total 0
lrwxrwxrwx 1 root root 11 2006-03-08 16:05 ST316021_2A_1 -> /media/usb1
lrwxrwxrwx 1 root root 11 2006-03-08 15:33 ST316081_2A_1 -> /media/usb0
c'est ce que va contenir @listing

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
@listing=`/bin/ls -l $USBVAR`;
 
for ($i=0; $i <= $#listing ; $i++) {
        @ligne=split(/ /,$listing[$i]);
                print "$ligne[8] == $NEEDEDSN";
                if ( $ligne[8] =~ /"$NEEDEDSN"/ ){ print "youpi"; }
}
$NEEDEDSN contient ST316081_2A_1

Quand je lance mon script ça donne ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
etienne@samba-eu:~/shelltest/usbmount$ ./getMOUNT.pl
 == ST316081_2A_1
ST316021_2A_1 == ST316081_2A_1
ST316081_2A_1 == ST316081_2A_1
Doit y avoir une feinte que j'ai pas comprise.

Merci d'avance.