> t/op/glob.t
> 
> The test that is failing is:
> 
> # ... while ($var = glob(...)) should test definedness not truth
> 
> my $ok = "not ok 8\n";
> $ok = "ok 8\n" while my $var = glob("0");
> print $ok;
> 
> 
> This test massively confuses me.  What is the meaning of the "0" in 
> C<glob("0")>?  As far as I can see we are just testing for the existence of 
> a file whose name matches the pattern "0" and failing if it does not exist.  
> This is confirmed by the fact that if I create a file named "0" the test 
> passes. Why would C<glob("0")> ever evaluate to true if there is no such 
> file?  Why does the comment in the test say that C<while> "should test 
> definedness not truth" but perlsyn says, "The C<while> statement executes 
> the block as long as the expression is true"?  I'm sure I'm just being dumb
> and this all makes perfect sense; someone please clue me in.

Unixism.  If there are no wildcards in the pattern, glob() is supposed
to return its argument as-is (yes, silly semantics, but I'm innocent).
The "not truth" meaning that even the result "0" should be considered
true for the purposes of continuing the while.  I think perlsyn needs
some updating.

> ======
> lib/Net/Ping/t/110_icmp_inst.t
> 
> This needs the additional patch located here:
> 
> <http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-02/msg00111.html>

Will apply, thanks.  Does the Net::Ping guy know of this patch?

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen

Reply via email to