Thread File öffnen, Inhalt ausgeben und wieder schließen (4 answers)
Opened by Iggy86 at 2012-07-26 13:39

topeg
 2012-07-26 14:29
#160202 #160202
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/perl
use strict;
use warnings;

my $globalerror=0;

sub recDir
{
  my $path=shift(@_);
 
  if (opendir (my $DIR, $path))
  {
    my @files=readdir($DIR);
    closedir($DIR);

    for my $file (@files)
    {
      # . und .. überspringen
      next if($file eq '.' or $file eq '..');

      # pfad konstruieren
      my $new_path="$path/$file";

      # wenn Datei und Endung ".d"
      if(-f $new_path and $file=~/\.d$/)
      {
        # Datei öffnen und ausgeben
        if(open(my $fh, '<', $new_path))
        {
          local $/=undef;
          print <$fh>;
          close($fh);
        }
        else
        {
          warn "Can't open $new_path ($!)\n";
          $globalerror = 1;
        }
      }

      recDir($new_path) if (-d $new_path);
    }
  }
  else
  {
    warn "can't open Dir $path ($!)\n";
    $globalerror = 1;
  }
}
 
recDir($ARGV[0]);


Wobei ich nicht verstehe, warum man File::Find meiden sollte, das ist ein Code-Paket und damit bei jeder Perl-Installation dabei.

View full thread File öffnen, Inhalt ausgeben und wieder schließen