Toon posts:

Perl sorteren waar gaat het fout?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo, ik ben bezig een soort digitale scroller te maken, gekoppeld aan een database.. Net zoiets als nu.nl heeft. Nu sorteerd mijn script eerste de bestandsnamen op alfabet.. Vervolgens print hij de gegevens uit in de scroller

DIRECTORY:
alfa_romeo.dat
bmw.dat
citroen.dat

Volgens mij gebeurd dit met de volgende code:
code:
1
2
3
4
5
6
7
8
foreach $key (sort keys %category) {
open THEFILE, "$basepath/categories/$key.dat";
    (@theitems) = <THEFILE>;
            close THEFILE;
$changeflag = 0;
@listitems = ();
$stopit = ();
foreach $line(sort @theitems) {

Kan iemand mij vertellen hoe ik het spulletje random kan uitprinten?

  • Theswitch
  • Registratie: Juli 2000
  • Laatst online: 22:37
sort weghalen :)

  • tomato
  • Registratie: November 1999
  • Niet online
Nee dat kan niet zijn wat hij bedoelt |:(
Dat kan het gewoon niet zijn....

hoop ik

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Op dinsdag 04 december 2001 14:44 schreef tomato het volgende:
Nee dat kan niet zijn wat hij bedoelt |:(
Dat kan het gewoon niet zijn....

hoop ik
:D

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • Theswitch
  • Registratie: Juli 2000
  • Laatst online: 22:37
Een hash is toch altijd pseudo-random.. als je sort weghaald, doet ie de filenames in willekeurige volgorde.

Maar als je nu 4.17 uit Perl Cookbook gebruikt:
sub shuffle {
my $array=shift;
my $i;
for ($i = @$array; --$i;){
my $j=int rand($i+1);
next if $i == $j;
@$array[$i,$j] = @$array[$j,$i];
}
}

en dan
shuffle (\@array); die husselt 'm.