> + (my $generated = $File::Find::name) =~ s/\.in$//; > + push @need_update, $generated > + unless -e $generated && -M $generated < -M $File::Find::name;
> - if (my $extra_conf = $self->generate_extra_conf) { > - for my $file (@$extra_conf) { > - push @reasons, "$file.in is newer than $file" > - if -e $file && -M "$file.in" < -M $file; > - } you flipped the logic here. it needs to be unless -e $generated && -M $generated > -M $File::Find::name which is equivalent to if (! -e extra.conf || ! (extra.conf > extra.conf.in)) right now it reconfigures all the time: [warning] forcing re-configuration: [warning] - t/conf/extra.conf.in is newer than t/conf/extra.conf. -rw-rw-r-- 1 geoff geoff 1283 Feb 19 09:42 extra.conf -rw-rw-r-- 1 geoff geoff 353 Feb 19 09:36 extra.conf.in --Geoff