SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Linux/Perl eq. til DOS DIR/S/B



> 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
                                                


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:54
Denne side vedligeholdes af MHonArc .