#!/usr/bin/perl # Prog mischen.pl use strict; use warnings; my @alteliste = (); my @neueliste = (); my %bereits_gezogen = (); my $gezogen; # alte Datei einlesen open(UNGEMISCHTEDATEI,") { push (@alteliste,$zeile); } close (UNGEMISCHTEDATEI); # ziehen ohne Zurücklegen for ( 1 .. $#alteliste ) { $gezogen = int (rand($#alteliste)); redo if exists $bereits_gezogen{$gezogen}; push (@neueliste, $alteliste[$gezogen]); $bereits_gezogen{$gezogen}++; } # neue Datei schreiben open(GEMISCHTEDATEI,">gemischte_liste") || die "kann gemischte Datei nicht zum Schreiben öffnen : $!"; foreach (@neueliste) { print GEMISCHTEDATEI ("$_"); } close (GEMISCHTEDATEI);