[EMAIL PROTECTED] writes:
> A quality test program is vital to a successful game.
> Ideally, you would like to just say: "If it passes the test
> program, it is OK". I could even envisage a 100% automated
> system where you would not need a human arbiter at all.
>
> I think it is also crucial to have a level-playing field for
> all competitors. Part of that is to change as little as
> possible after announcing the game; that is why I have
> not rushed any changes to tsanta.pl, just tried to clarify
> the semantics with workarounds. Anyway, I have just plugged
> a couple of the more glaring holes in tstanta.pl (without
> changing the semantics of the game).
>
> 1) I said all along that you cannot write to stderr.
>    The only reason it was not enforced is that I could not
>    figure out how to test for that under Windows 98.
>    I have just changed:
>      my $cmd = "perl $scr $intmp";
>    to:
>      # Remove ' 2>err.tmp' in next line for Windows 95/98.
>      my $cmd = "perl $scr $intmp 2>err.tmp";
>    then added:
>      -s 'err.tmp' and die "oops, you wrote to stderr (see err.tmp)\n";
>    in CheckOne().
>
> 2. I have added some code to enforce that source code is on
>    a single line.
>      sub CheckSingleLine {
>        my $script = shift;
>        local $/ = undef;
>        open(FF, $script) or die "error: open '$script'";
>        my $x = <FF>;
>        close(FF);
>        my $nlines = $x =~ tr/\n//;
>        --$nlines if $x =~ /^#!.*?perl/;
>        $nlines > 1 and die "$script: source on single line please\n";
>      }

I really think that this is a silly restriction. 

-- 
Piers

   "It is a truth universally acknowledged that a language in
    possession of a rich syntax must be in need of a rewrite."
         -- Jane Austen?

Reply via email to