|
|||||||||||||||||||||||||||
> DIR = ls : lister indhold af mappe
> /S : medtag/rekurser alle mapper under aktueller
> /B : skriv fulde sti til alle filer
> Min plan er så at at substituere sti-informationen før filnavnet med "|",
> "+" og "-" -tegn for at visualisere filtræet.
Hvorfor bruger du ikke perls indbyggede opendir, readdir.... funktioner, i
stedet for at parse en systemkommando - det bør i hvert fald køre hurtigere.
Jeg har lavet en lille rutine, som du måske kan blive inspireret af, men jeg
har dog ikke testet koden på Linux, men det burde også virke på DOS, men det
kan være du bliver nødt til at ændre / til \.
sub print_dir ($)
{
my $dir = shift;
my $handle;
unless ($dir =~ /\/$/) { $dir .= '/'; }
opendir $handle, $dir or die "Could not read dir $dir: $!\n";
while (my $entry=readdir $handle) {
next if $entry =~ /^\.+$/;
if (-d "$dir$entry") {
print_dir ("$dir$entry");
} else {
print "$dir$entry\n";
}
}
closedir $handle;
}
MVH David
|
||||||||||||||
|
||||||||||||||