In the course of writing tests for Parrot::Revision (see the 'reconfigure' 
branch), I noticed that 
much of the code depends on the definedness and value of $svn_entries.  
However, since 
$svn_entries is explicitly undefined at the top of lib/Parrot/Revision.pm, and 
since it's never 
assigned to within that package, it's not clear what all that code is for.

Here's the result of ack-ing for svn_entries in trunk:

#####
[parrot] 502 $ ack --nohtml --nophp svn_entries
config/gen/revision.pm
31:    my $entries  = $Parrot::Revision::svn_entries;

lib/Parrot/Revision.pm
27:our $svn_entries = undef;
42:    elsif ( defined $svn_entries and -r $svn_entries ) {
43:        open FH, '<', $svn_entries
44:            or die "Unable to open file ($svn_entries). Aborting. Error 
returned was: $!";
#####

If $svn_entries starts out undef-ed and is never assigned to, it can never pass 
the test for 
definedness in line 42 above, which means that the subsequent elsif stanza can 
never be 
reached -- and should therefore be refactored out of existence.

Is my interpretation correct?

Thank you very much.

kid51

Reply via email to