#!/usr/bin/env perl use strict; use warnings; use 5.010; our $VERSION = '1.00'; use Getopt::Long qw(:config no_ignore_case); use List::Util qw(first max); use Travel::Status::DE::DeutscheBahn; my %train_type; my ( $date, $time ); my $filter_via; my $ignore_late = 0; my $show_full_route = 0; my $types = q{}; my $language; my @output; binmode( STDOUT, ':encoding(utf-8)' ); GetOptions( 'd|date=s' => \$date, 'f|full-route' => \$show_full_route, 'h|help' => sub { show_help(0) }, 'l|lang=s' => \$language, 'L|ignore-late' => \$ignore_late, 'm|mot=s' => \$types, 't|time=s' => \$time, 'v|via=s' => \$filter_via, 'V|version' => \&show_version, ) or show_help(1); for my $type ( split( qr{,}, $types ) ) { if ( substr( $type, 0, 1 ) eq q{!} ) { $train_type{ substr( $type, 1 ) } = 0; } else { $train_type{$type} = 1; } } my $status = Travel::Status::DE::DeutscheBahn->new( date => $date, language => $language, mot => \%train_type, station => shift || show_help(1), time => $time, ); sub show_help { my ($code) = @_; print 'Usage: db-ris [-d ] [-m ] [-t