
| Current Path : /var/www/web-klick.de/dsh/50_1/1300__perllib/DivBasicF/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_1/1300__perllib/DivBasicF/CCBasic.pm |
package DivBasicF::CCBasic;
use strict;
use DivBasicF::AULocale;
use Data::Dumper;
sub new {
my $class = shift;
my $self = {};
$self->{'AU'} = DivBasicF::AULocale->new();
bless($self,$class);
return($self);
}
#**********************************************************************
sub generate_tree {
my $self = shift;
my $dir = shift;
my $list = shift;
my $anzahl = shift;
my $maxdepth = shift;
my $au = $self->{'AU'};
my $maxelem = $au->choose_between(int($anzahl/2),int($anzahl));
my $zaehler = 0;
my $aktdepth = $dir;
$aktdepth =~ s/[^\/]//gs;
$aktdepth = length($aktdepth);
my $o; my $dir1;
while (0 == 0) {
$zaehler = $zaehler + 1;
last if ($zaehler > $maxelem);
$o = $au->choose(0,1,1,1,1);
if ($o == 1) {
push(@$list,"f " . $dir . "/" . $self->generate_filename());
} else {
$dir1 = $dir . "/" . $self->generate_dirname();
push(@$list,"d " . $dir1);
if ( ($maxdepth < 0 and $#$list < -$maxdepth) or
($maxdepth > 0 and $aktdepth < $maxdepth) ) {
$self->generate_tree($dir1,$list,$anzahl*1.25,$maxdepth);
}
}
}
}
#******************************************************************
sub generate_filename {
my $self = shift;
my $au = $self->{'AU'};
my $erg = join("",$au->mchoose($au->choose_between(10,25),"A-9")) . "." . join("",$au->mchoose(3,"a-z"));
return($erg);
}
#******************************************************************
sub generate_dirname {
my $self = shift;
my $au = $self->{'AU'};
my $erg = join("",$au->mchoose($au->choose_between(10,25),"A-9"));
return($erg);
}
1;