/cdrom reagiert anders als andere Verzeichnisse

Post Reply
Message
Author
User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

/cdrom reagiert anders als andere Verzeichnisse

#1 Post by killerhippy »

Ok, wie man sehen kann, beschaeftigt mich zZ /dev/cdrom bzw. /cdrom

Den Label perlish zu kriegen ist mit Jochen gut gelungen, nun stehe ich vor dem naechsten Problem.

Aus dem Perl Kochbuch habe ich das Beispiel 9-7 gekuerzt, damit es nur eine Ausgabe der Dateien samt Pfad eines Verzeichnisses macht.

Ziel ist es natuerlich (spaeter), ein Verzeichnislisting einer CDROM mit allen Unterverzeichnissen und den darin enthaltenen Dateien zu bekommen.

Das gekuerzte lst funktioniert prima im Linux-Filesystem, nicht aber im Mountpoint /cdrom.

Im Filesystem, zb /usr/local/src bekomme ich ein vollstaendiges Listing wie gewuenscht.
Beim Mountpoint /cdrom einer gemounteten CDROM bekomme ich aber nur ein Listing des Root-Verzeichnisses, Unterverzeichnisse werden nicht ausgegeben.

Woran liegts bzw. wie bringt man File::Find::name dazu, Unterverzeichnisse mit einzubeziehen, ohne grossen Aufwand betreiben zu muessen?

Hier das Listing:
---schnipp---
#!/usr/local/bin/perl -w

sub wanted {
my $ab = stat($_);
return unless $ab;
$liste{$name} = $ab;
}

use File::Find;


*name = *File::Find::name;

find(\&wanted, @ARGV);

@lout = keys %liste;

for (@lout) {
print "$_\ n";
next;
}
---schnapp---# Note: erase space between \ and n!

das file wird (natuerlich) an der Kommandozeile mit Uebergabe des Wunschverzeichnisses aufgerufen, zb

lst.pl /usr/local/src

wer kann helfen?
Es gibt keine dumme Fragen!

Killerhippy

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

Re: /cdrom reagiert anders als andere dirs

#2 Post by killerhippy »

Hi @ll,

inzwischen habe ich das probby geloest bekommen:

@ <!--http--><a href="http://www.perlmonks.org" target="_blank">Cool Users for perl</a><!--url--> ware einige helle und dunkle 'Moenche' und die hellen haben mich vor den dunklen (mail mir deine emailadresse) gewarnt (-> um dich mit spam vollzumuellen) und mir weitergeholfen, mein probby zu loesen:

$File::Find::dont_use_nlink = 1;

einfuegen nach der

*name = *File::Find::name;

Vereinbarung, und schon laeufts :)

Wer die Seite besuchen will, sollte sein Englisch aber dabei haben...
Es gibt keine dumme Fragen!

Killerhippy

Post Reply