#!/usr/bin/perl

use Time::HiRes qw(usleep);

my @args=@ARGV;
my $screen=shift(@args)||"";

if (!$screen) {
    print "No screen ID\n";
    exit
}
if (defined $args[0] && !-f $args[0]) {
    print "$args[0] not found\n";
    exit
}

my @res=`screen -ls`;
my $fnd=0; 
for my $line (@res){ 
    if ($line =~ /$screen/) { $fnd=1; last } 
}

if (!$fnd) {
    my $call=(-f $args[0] ? ' sts '.join(' ',@args):'');
    print "Start $screen$call\n";
    system "screen -dmS $screen$call";
    usleep(100000);
}

print "Open $screen\n";
system "screen -".($fnd ? 'd':'')."r $screen";
