Får ikke slettet hukommelsen
Mit problem er at når sub'en bliver flere gange husker den på specialtegnende "$PwdSpecTegn" og tal "$PwdCifre". Det vil sige hvis sub'en bliver kaldt f.eks. 10 gange i streng, ser password nogenlunde således ud "#+-#%&2%".Jeg aner simplenhen ikke hvordan man rydder hukommelsen, any hints?
Her er sub'en jeg har:
sub MakePassword
#------------------------------------------------------------------------------------
{
my $len = $_[0];
my $Source = $_[1];
my @letters = split(//,$Source);
my $pwd = "";
foreach $n (0 .. $len-1)
{
$x = rand(scalar(@letters));
$pwd .= $letters[$x];
}
$random =int rand 8;
my @SpecTegn = split(//,$PwdSpecTegn);
$q = rand(scalar(@SpecTegn));
$SpecTegn2 .= $SpecTegn[$q];
@TempPassword = split(//,$pwd);
@TempPassword[$random] = $SpecTegn2;
$TmpPwd = join('',@TempPassword);
do
{
$random2 =int rand 8;
print "Her har du random : $random $random2 \n";
}
until $random != $random2;
my @Cifre = split(//,$PwdCifre);
$y = int rand(scalar(@Cifre));
@TempPassword2 = split(//,$TmpPwd);
@TempPassword2[$random2] = $y;
$TmpPwd2 = join('',@TempPassword2);
print "Genereret password : $TmpPwd2 \n";
print "Afkortet password : substr($TmpPwd2, 0, 10) \n";
return substr($TmpPwd2, 0, 10);
}
