Béla kérésére átjavítottam a kódot, de a kommentekben összeesett volna, úgyhogy gondoltam, egy új postban írom meg:
#!/usr/bin/perl -w
Remélem, ezzel elindítok egy olyat, mint a Hey, Scripting Guy! ahol Windowsos scripteket lehet kérni és a blogban megcsinálják (csak persze én Linuxosakat vállalok). :-) Nem lenne ellenemre mondjuk, csak határidőt nem tudok vállalni rá.
our @nodes;
our @edges;
sub rddir{
my $RelativePath = shift;
my $counter = shift;
if($counter>10){return;}
my @files;
@files = <$RelativePath/*>;
foreach $fajl(@files){
if($fajl=~/^\.{1,2}$/){next;}
$fajl =~ s/^.*\/(.*)$/$1/;
if(-d $fajl){
rddir("$RelativePath/$fajl",($counter+1));
}
push(@edges,"\t\"$RelativePath/$fajl\" -> \"$RelativePath\"");
push(@nodes,"\t\"$RelativePath/$fajl\" [label = \"$fajl\"]");
}
}
rddir(".",0);
print "digraph konyvtarak {\n\tnode [shape = box];rankdir=\"RL\";\n";
foreach $anEdge(@edges){print "$anEdge;\n";}
foreach $aNode(@nodes){print "$aNode;\n";}
print "}";