Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PERL]dove ho sbagliato???

    ragazzi, vi posto un codice che non capisco perchè mi genera tremila errori...mi aiutate??? sto cercando di imparare, ma mi sa che ho bisogno di aiuto

    codice:
    my $cosa= $ARGV[0]; #gestisce l'output
    my $lungPSW= $ARGV[1]; #gestisce la lunghezza della PSW
    my $numDiPSW=$ARGV[2]; #gestisce il numero di PSW da creare
    
    BEGIN { srand() if $] < 5.004 } #avvia srand se la versione del compilatore
                                    #è inferiore alla 5.004
                                    
    if($cosa eq 'file'){subfile($lungPSW,$numDiPSW);} #se si vuole scrivere su file
    elsif($cosa eq 'schermo'){subschermo($lungPSW,$numDiPSW);}#se si vuole scrivere su schermo
    else{die "Parametro errato: ".$a." al posto di file o schermo";}#errore
    
    sub subfile(){ #sub che scrive su file
      $len=$_[0]; #accetta il parametro della lunghezza
      $times=$_[1]; #accetta il numero delle volte che deve generare le password
      print "Inserisci il file: ";
      chomp($path=<STDIN>); #aquisisce l'indirizzo del file
      open PSW, ">", $path;
      for($i=1;$i<=$times;$i++){
        $p=genera($lung);
        print PSW $p;}
      close PSW;
      }
      
    sub subschermo(){ #sub per scrivere su schermo
      $len=$_[0]; #accetta il parametro della lunghezza
      $times=$_[1]; #accetta il numero delle volte che deve generare le password
      for($i=1;$i<=$times;$i++){
        $p=genera($len);
        print "$p\n";}
      }
      
    sub genera(){
    $lung= shift;
    for($i=1;$i<=$lung;$i++){ #e ripete la generazione finchè non raggiunge 
                                #le volte richieste
        $n=rand 200;
        if($n%3==0){ #se è multiplo di tre mettiamo una lettera
          if($n<=100){ #mettiamo una lettera maiuscola
            $k=int(rand(25));
            $k+=65;
            $m=chr($k);
          }
          else{ #mettiamo una lettera minuscola
            $k=int(rand(25));
            $k+=97;
            $m=chr($k);
          }
        }
        else{ #se non è multiplo di tre mettiamo un numero
          $m=int(rand(10));
          $m+=48;
         }
        $PSW=$PSW.$m; #aggiunge alla password l'ultimo carattere appena creato
        }
      $fin=substr($PSW,0,$lung); #estrae una sottostringa in modo da avere una psw 
                                 #della lung richiesta
    }

  2. #2
    Che tipo di errori ti da?


    Cmq sembra la sezione per geni di cyberenigma di HJ....

  3. #3
    già proprio da lì ho preso spunto mi da duemila errori, però ho trovato...forse se faccio l'eq tra le stringhe evito che il povero perl si arrabbi

  4. #4
    Volevo provarlo a fare anche io, per adesso ho fatto i primi 2 e vanno che e un piacere...

    Adesso provo a farlo anche io...

    Questo e per esperti
    codice:
    #!/usr/bin/perl
    
    print q{__________________________________________________________________________
    |ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ|
    
    Calcolatore di numeri per Hacker Journal.
    Inserire i valori e il programma vi calcolera i numeri dal giornale di
    partenza e quello di arrivo.
    
    By ..::Olimp-Force ::..(Yaro)
    __________________________________________________________________________
    |ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ|
    };
    
    print "*Indicare da che numero di Hacker Journal si desidera partire: \n\n";
    print "    Numero: "; 
    $n[0] = <STDIN> - 1;
    print "\n";
    
    print "*Indicare fino a che numero di Hacker Journal si desidera arrivare: \n\n";
    print "    Numero: ";
    $n[1] = <STDIN>;
    print "\n";
    
    $n[2] = $n[1] - $n[0];
    
    while ($n[0] < $n[1]) { 
    		$n[0]++;
    		print "HJ$n[0] \n";
    };
    
    if ($n[0] > $n[1]) {
    			print "\n";
    			print "ERRORE: il numero di Hacker Journal a cui si desidera \n"; 	
    			print "arrivare e piu piccolo di quello di partenza. \n\n";
    
    			system ("pause");
    }
    
    else {
    			print "\n";
    			print "I numeri di Hacker Journal sono stati calcolati \n\n";
    			print "Abbiamo calcolato $n[2] numeri di Hacker Journal\n\n";
    			print "\nby ..:: Olimp-Force ::.. \n\n\n";
    			
    			system ("pause");
    }
    
    
    #Copyright by ..:: Olimp-Force ::..(Yaro)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.