#!"D:\webserver\xampp\perl\bin\perl.exe" #! /usr/bin/perl use strict; use warnings; use JSON; # muss evtl. nachinstalliert werden use LWP::Simple; # muss evtl. nachinstalliert werden require LWP::UserAgent; use Data::Dumper; use URI::Escape; use CGI::Carp qw(fatalsToBrowser); # Wo sind die Daten Haltestellen ID zu holen? my $url = "http://localhost/abfahrten.do?id=01"; # Daten abholen lasssen #my $content = get( $url ); my $content = '[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]'; # Abbruch, wenn Daten nicht geholt werden konnten die "Could not load data from $url." if not defined $content; # Bereite JSON-Parser vor my $json = JSON->new->allow_nonref; # Dekodiere JSON-Daten und erstelle eine Datenstruktur #my $array_from_json = [["ZG NR","Richtung","Rücklaufende Minuten"],["ZG NR","Richtung", "Rücklaufende Minuten"]]; my $array_from_json = $json->decode( $content ); # Kontrollausgabe #print Dumper $data; # sortiere nach Abfahrten my @sorted = sort { $a->[2] <=> $b->[2] } @$array_from_json; #print Dumper \@sorted; # Zeige die nächsten 3 Abfahrten print "Abfahrten\n"; printf "%4s %15s %5s\n", 'Zug', 'Zielort', 'Abf. in'; for my $aRef ( @sorted[0 .. 2] ) { my ( $zugnr, $ziel, $min ) = @$aRef; $ziel = ( split m/,\s+/, $ziel )[1] if $ziel =~ m/,/; printf "%4s %15s %5s\n", $zugnr, $ziel, $min; }