#! /usr/bin/perl
use strict;
use warnings;
my %hash = ();
while(my $line = <DATA>){
chomp $line;
my @array = split(/\s+/,$line);
$hash{$array[1]} = [@array[2,3,4,0,6,5]];
}
my @sorted_keys = sort{change_time($hash{$a}->[3],$hash{$a}->[4]) <=>
change_time($hash{$b}->[3],$hash{$b}->[4])}keys %hash;
print "\nFlugnummer\tDatum \tUhrzeit\t",
sprintf("%15s",'Zielort'),"\t",sprintf("%15s",'Abflugort'),
"\tTerminal\tAnkunft\n";
foreach(@sorted_keys){
print sprintf("%10s",$_),"\t",
sprintf("%10s",$hash{$_}->[3]),"\t",
sprintf("%7s",$hash{$_}->[4]),"\t",
sprintf("%15s",$hash{$_}->[0]),"\t",
sprintf("%15s",$hash{$_}->[1]),"\t",
sprintf("%9s",$hash{$_}->[2]),"\t",
sprintf("%7s",$hash{$_}->[5]),"\n";
}
sub change_time{
my($date,$clock) = @_;
$clock =~ s/\://;
return join("",reverse split(/\./,$date)).$clock;
}
# hier Leerzeichen weglassen
_ _DATA_ _
30.07.2004 123456 Malaga Bielefeld C 12:15 11:31
23.07.2004 654321 Berlin Bielefeld D 13:00 12:58
04.07.2004 587931 Barcelona Bielefeld E 14:00 12:00
30.07.2004 356987 Muenchen Bielefeld A 12:50 12:00
30.07.2004 879652 Koeln Bielefeld B 12:55 12:15
30.07.2004 456987 Bonn Bielfeld H 14:00 11:55
05.08.2004 456789 Freiburg Bielfeld C 15:00 13:00
01.09.2004 336632 Berlin Bielefeld B 22:00 19:00