Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: Best programming practice

by Sidhekin (Priest)
on Oct 28, 2007 at 22:15 UTC ( #647752=note: print w/replies, xml ) Need Help??

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:

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; } }
My two fixes:
  • (?!$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!

Replies are listed 'Best First'.
Re^2: Best programming practice
by KurtSchwind (Chaplain) on Oct 30, 2007 at 14:19 UTC
    I think you went the right way. The 2nd one is much closer to working than the first. I'm not even entirely sure what $wang was supposed to hold. Also, I would have missed the \w+.
    -- I used to drive a Heisenbergmobile, but everyone I looked at the speedometer, I got lost.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://647752]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2021-01-23 22:01 GMT
Find Nodes?
    Voting Booth?