[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?