#!/usr/bin/perl use strict; use warnings; use File::stat; my $path = 'C:\Dokumente und Einstellungen'; open (my $out,'>', 'file_count.csv') or die "$!\n"; print ($out "Counts of files in a directory \n"); &funktAusgabe($path); close $out; sub funktAusgabe { my $local_time = localtime(); my ($ordner)=@_; my @eintraege = read_dir($ordner); my $anzDateien=@eintraege; my $anzDateien2=0; foreach my $eintrag (@eintraege) { if(-d $eintrag) { funktAusgabe($eintrag); } elsif(stat($eintrag)->size() >= 1024) { $anzDateien2++; } } print($out "$local_time;$anzDateien;$anzDateien2;$ordner\n"); } sub read_dir { my $dir=shift(@_); opendir( my $dfh, $dir) or die "$!\n"; my @filelist=readdir($dfh); closedir($dfh); my @output; for (@filelist) { if($_ ne '.' and $_ ne '..') { my $filename="$dir\\$_"; push(@output, $filename); } } return @output; }