On Sun, Apr 13, 2008 at 09:37:02AM +1000, Alex Samad wrote: > this works > perl -e 'while(<>){chomp ; next if ( /^\s*;/); print "[$_]\n" if length > $_ > 0}' sip.conf > > or this > perl -nle 'next if ( /^\s*;/); print if length $_ > 0' sip.conf > > why doesn't the next force a read of a new line and thus a new $_, why > do I have to check for length of $_
I don't know. This looks like a prime example of why I hate regex (or it hates me). I'd do it the long way in python with readlines, discard empty lines and slice off comments to create a sequence of cooked lines. Don't ask me how to do that in perl. Don't get me wrong, the ability to do this in one-liners is certainly powerful. Sed and grep are also likely quite CPU efficient, but I wouldn't call any of these lines readable. Doug. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]