dooberwah asked:
Is this the best way to do it? It runs fine ... and hey, TMTOWTDI, but is it the best (fastest, cleanest, prettiest, safest)? Comments from those wiser than I would be greatly appreciated.
I would hesitate to say that I am wiser, but my knee-jerk reaction is to usually consider best to mean "easiest to read". Of course, "easiest" is subjective. As for your example, the "best" approach will vary depending upon things that you haven't shown. For example, you might just want something in the following form:
while (<FILE>) { next if ! /\S/; chomp; process_stuff( $_ ); }
From what you've given us, though, I suspect that I would prefer the following:
while (<FILE>) { chomp if /\S/; process_stuff( $_ ); }
I used $_, but there's no problem with using $line, of course. I was just being lazy :) A more direct comparison shows the difference in being able to read the two:
Yours: $line =~ /^$/ or chomp ( $line ); Mine: chomp $line if $line =~ /\S/;
While I could be mistaken, I think the latter is easier to read and that is what is important. Don't worry about fastest or prettiest. Focusing on those will only get you in trouble.
Of course, it's only fair to point my snippet isn't the same as yours. I assumed that you also wouldn't care about chomping a line with all whitespace, but I could be mistaken.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
In reply to (Ovid) Re: Regular Expression Tweaking
by Ovid
in thread Regular Expression Tweaking
by dooberwah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |