Avatar billede kelo Nybegynder
04. september 2003 - 11:44 Der er 1 kommentar og
1 løsning

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);

}
Avatar billede mfalck Praktikant
04. september 2003 - 13:45 #1
æh jeg tror jeg skal have lidt mere info for at hjælpe; et skud fra hoften ville være at du skulle bruge local;

http://www.perldoc.com/perl5.8.0/pod/perlsub.html#Temporary-Values-via-local()
Avatar billede kelo Nybegynder
04. september 2003 - 14:22 #2
Rod til alt ondt:
$SpecTegn2 .= $SpecTegn[$q];
Jeg tilføjer istedet for sætter =

Jeg lukker sagen, men tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging