#!/usr/bin/perl use strict; use warnings; my $cnt = 2000;      # Gesamtanzahl my $hours = 36;      # Gesamtzeit in Std my $time = $hours * 60 * 60;      # Gesamtzeit in Sekunden die "Zu viele Zeitpunkte!" if $cnt > $time; # Sonst gaebe es eine Endlosschleife! print "Durchschnittliche Wartezeit der Events: ", $time/$cnt, " Sek.\n"; my %evt_table;         # Ereigniszeitpunkte # $cnt Events auswuerfeln for (1 .. $cnt) {    my $evt = int(rand($time));    redo if $evt_table{$evt}; # Schon besetzt? => Neu    $evt_table{$evt} = 1; } # Testausgabe der Zeitpunkte # print "$_ " for sort { $a <=> $b } keys %evt_table; my $t0 = time();      # Startzeitpunkt print "Start um ", scalar(localtime($t0)), "\n"; for (sort { $a <=> $b } keys %evt_table) {    my $delay = ($t0 + $_) - time();  # Wartezeit    sleep $delay if $delay > 0;       # wenn Wartezeit, dann schlafen    ### Hier Event ausloesen    print "Event mit Zeit $_ um ", scalar(localtime()), "\n";    ### }