#!/usr/bin/perl use warnings; use strict; my @alle_spieler = (1 .. 4); # my @alle_spieler = (1 .. 24); my %schon_gespielt; my $spieler; my $gegner; my $i; my $index; my $laufende_nr = 1; foreach $spieler (@alle_spieler) { # Im Hash %schon_gespielt wird fuer jeden Spieler # ein leeres, anonymes Array angelegt: $schon_gespielt{$spieler} = []; } print "\n"; foreach $spieler (@alle_spieler) { foreach $gegner (@alle_spieler) { if ($gegner == $spieler) { next; } $index = 0; # Das Array des Gegners (das sich im Hash %schon_gespielt befindet) # wird darauf untersucht, ob der Gegner schon gegen den # Spieler gespielt hat: foreach $i (@{$schon_gespielt{$gegner}}) { if ($i == $spieler) { $index = 1; last; } } if ($index == 1) { next; } print "$laufende_nr: Spieler Nr. $spieler gegen Spieler Nr. $gegner.\n"; # Der Gegner des Spielers wird in dem Array des Spielers # (das sich im Hash %schon_gespielt befindet) abgelegt: push($schon_gespielt{$spieler}, $gegner); $laufende_nr++; } } print "\n";