in reply to Removing multiple trailing comment lines from a string
Though general suggestions for code improvements are welcome, my specific question relates to this eyesore:
:) Sorry, its all eyesore :P
Mostly the problem is you're trying to s///ubstitute when you should be manipulating an array after m//atching , for example
push @stack, [ COMMENT => $1 ]; ... $stack[-1][0] eq 'COMMENT' and pop @stack for 1..3;
But freel free to do your own benchmarks
$ perl -le " $_ = qq{;banana\n;ro\n;sham\n;bo\n}; print; s{(?:^;[^\r\n +]*[\r\n]+){1,3}\Z}{}m; print; " ;banana ;ro ;sham ;bo ;banana
Thats just what I think at the moment :)
|
|---|