#!/usr/bin/perl  use strict;  use warnings;  use Time::Local;  sub date2uts( $ );  while() {      if( m/ ^ (-?\d+?); (\d{2}-\d{2}-\d{4});               (-?\d+?); (\d{2}-\d{2}-\d{4} | yesterday);               (.+)                                      $ /x ) {  my($num_a, $num_b, $date_a) = ( $1, $3, date2uts($2));          my $date_b = $4 eq 'yesterday' ? timelocal(0, 0, 0, (localtime)[3 .. 5])                                         : date2uts( $4 );          printf("Number_A: %d\tDate_A: %d\nNumber_B: %d\tDate_B: %d\n",                 $num_a, $date_a, $num_b, $date_b);      } else {          printf(STDERR "Skipped: %s\n", $_);      }  }  sub date2uts ( $ ) { # date to unixtimestamp      if( $_[0] =~ /^(\d{1,2})-(\d{1,2})-(\d{4})$/ ) {          return timelocal( 0, 0, 0, $1, $2 - 1, $3 - 1900 );      } else {          die "Date string not valid!\n";      }  } _ _DATA_ _ 433076;16-02-2004;0;12-03-2005;--==EXECUTER==-- 423595;15-04-2003;-746;yesterday;Keyfinder 442191;12-10-2004;0;yesterday;Spider-Mann