#!/usr/bin/perl

if (!$ARGV[0]) {
  print "Start Screen\nUsage: sts perl-program\n"; exit
}

my $program=$ARGV[0];
my $call=join(' ',@ARGV);

if (!-e $program) {
  print "Start Screen\n * '$program' does not exist.\n"; exit
}

$SIG{'INT'}=\&intquit;

sub intquit { print "Master loop interrupted by signal.\n"; exit }
do {
  print "Start Screen\n".timestring()." - $call\n";
  system "$call";
  print "End Screen ".timestring()."\n\n";
  sleep(1)
} until (0);

sub timestring {
  my @t=localtime();
  my $tm=('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$t[6]]; $tm.=", ";
  my $yr=$t[5]+1900; my $mon=('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$t[4]];
  $tm.="$t[3] $mon $yr ";
  $tm.=join(':',sprintf("%02d",$t[2]),sprintf("%02d",$t[1]),sprintf("%02d",$t[0]));
  $tm.=" GMT";
  return $tm
}
