Christoph Schnauß: Suchscript mit eigenartigem Verhalten

Beitrag lesen

hallo Forum ;-)

man erlebt ja immer mal Ueberraschungen ... ich wollte mir fuer ein lokales Verzeichnis ein Suchscript basteln und habe der Einfachheit halber erstmal die search.pl von Matt Wright genommen. Das Ganze unter Win2000 und mit perl 5.6. Das ging alles ganz gut, man braucht ja nur die Pfade richtig einzutippen.
Jetzt wollte ich genau dasselbe unter Win98 auch haben. Da ist perl 5.003 installiert (build 522), und ploetzlich funzt es nicht. Der Debugger sagt mir, dass er eine Subroutine im Originalscript nicht versteht, und zwar diese:

sub get_files {

chdir($basedir);
   foreach $file (@files) {
      $ls = ls $file;
      @ls = split(/\s+/,$ls);
      foreach $temp_file (@ls) {
         if (-d $file) {
            $filename = "$file$temp_file";
            if (-T $filename) {
               push(@FILES,$filename);
            }
         }
         elsif (-T $temp_file) {
            push(@FILES,$temp_file);
         }
      }
   }
}

Insbesondere will er das "ls" nicht.

Kann mir jemand sagen, warum das unter Win2000 laeuft und unter Win98 nicht ?
Ist es moeglich, dass perl "ls" hier als Unix-Syntax interpretiert?

Ich habe sonst allerhand andere scripts, die in beiden Systemen voellig identisch eingesetzt werden koennen.

Christoph S.