Hi Wind,
Nice coding. Thanks for the tidy up.
I changed it a little. I changed 'die' to 'warn', because I wanted all the possibilities tested, and I only 'closed' where the open had been successful. I didn't know you could write "for .." like that and I've never got around to using the "? .. : .." operator. So thanks for all that.
So:
#!/usr/bin/perl -w
use strict;
for my $i (0..5) {
my $dir = $i ? "/media/disk-$i/" : "/media/disk/";
if (opendir my $dh, $dir){
print $dir," opened successfully.\n";
closedir $dh;
} else {
warn "Can't opendir $dir: $!";
}
}
So I inserted a USB-drive, ran the code and I got (Sorry, my machine is set to Portuguese. "Arquivo ou diretório não encontrado" means "file or directory not found ... ". ):
Can't opendir /media/disk/: Arquivo ou diretório não encontrado at /ho
+me/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-1/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-2/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-3/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-4/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-5/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
before I used the dolphin file-manager and afterwards I got:
/media/disk/ opened successfully.
Can't opendir /media/disk-1/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-2/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-3/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-4/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
Can't opendir /media/disk-5/: Arquivo ou diretório não encontrado at /
+home/image/Documents/Endoscopia/Dir_Test.pl line 10.
So It looks as though I need to do something else. In fact if I do $dir I get the same result:
$ dir /media/disk/
dir: impossível acessar /media/disk/: Arquivo ou diretório não encontr
+ado
Thanks again for a great post.
Regards
Steve |