Breaking it up like this might be preferable if the problem were more complex, because really long regex's can be difficult to maintain. For example, if you decided to add a dollar sign in front of single digits, you could just add this line (after the add a dot line):sub fullname { my (@parts) = @_; for my $p (@parts) { $p = length($p) > 1 ? $p : # not a single - don't change $p =~ /[a-z]/i ? $p . '.' : # single letter - add a dot $p; # not a letter - don't change } my $name = join(" ", @parts); return $name; }
$p =~ /\d/ ? '$' . $p : # single digit - add a $
This seems easier (to me) than rewriting the regex, and less likely to introduce subtle bugs due to differences in regex behavior.
Unless you're a regex master, I think it's best to keep them as simple as possible. And if you ARE a regex master, but have to work on a team where other people are NOT - then it's STILL best to keep them simple as possible!
In reply to Re: simpler regex
by scorpio17
in thread simpler regex
by rsiedl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |