in reply to Best programming practice
The second feels the cleaner approach to me as well, but it is not correctly implemented. So I suppose one could argue it is too clever. Alternatively, one could fix it:
My two fixes:sub ripper2b { ## Second implementation, take b my $file = $_; return unless s/\.(?!$ext)\w+$//i; my $priority = "$_.$ext"; if (-e $priority && !-d $priority) { $nom += unlink $file; } }
- (?!$ext) is zero-width, so (?!$ext)$ is just $. We need to remove the extension as well, whatever it is, so add \w+ to the regex.
- The "." was removed by the substitution, so we need to add it again along with $ext.
If that does not make sense to you, the second implementation is just too clever. Go with the first.
print "Just another Perl ${\(trickster and hacker)},"
The Sidhekin proves Sidhe did it!
In Section
Seekers of Perl Wisdom