That's a good piece of rather in-depth discussion ;).
And this is the first time that I understood the subtle
workings of the range operator. It's really a
'flip-flop' kind of an operator. Here's the way I'd use it:
-----------------
#!/usr/local/bin/perl -w
use strict;
# TEST for '..' (and '...') operators
#
# Description of the range operator is found
# at the END of this file.
#
print "TEST 1: Skipping perldoc comments.\n----------------\n";
while (<DATA>) {
next if (/^=head/ .. /^=cut/);
print $_;
}
__DATA__
# pretend this is a config file
var = 0;
var1 = 0;
=head
this should be skipped by
the /^=head/ .. /^=cut/ range
operator.
some paragraph here
some paragraph here
=cut
var2 = 0;
-----------------
Your example with data is also very neat one. I guess one could use the range operator with special objects that serve as data iterators (say, list iterators etc.)
"There is no system but GNU, and Linux is one of its kernels." -- Confession of Faith
|