Although dragonchild gives a good example of .., here's a more general explanation, along with the difference between .. and ...
First of all, there is use of .. in a list context:
@a = 1 .. 7;
Then there's the unrelated use in a scalar context. It only makes sense in a loop.
while (something) {
if (EXPRSTART .. EXPREND) {
doit();
}
}
is equivalent to:
$inmatch = 0;
while (something) {
if (!$inmatch && EXPRSTART) {
$inmatch = 1;
}
if ($inmatch) {
doit();
}
if ($inmatch && EXPREND) {
$inmatch = 0;
}
}
Okay? Now for three dots:
while (something) {
if (EXPRSTART ... EXPREND) {
doit();
}
}
is equivalent to:
$inmatch = 0;
while (something) {
$wasinmatch = $inmatch;
if (!$inmatch && EXPRSTART) {
$inmatch = 1;
}
if ($inmatch) {
doit();
}
if ($wasinmatch && EXPREND) {
$inmatch = 0;
}
}
Subtle difference. To see it in action, compare:
while (<>) { print if /A/ .. /B/ }
with
while (<>) { print if /A/ ... /B/ }
on this input file
Here's some text before
Some text with an A
some lines in the middle 1
some lines in the middle 2
some lines in the middle 3
Some text with a B
some useless lines 1
some useless lines 2
some useless lines 3
A line with both an A and a B
some lines after the line with both 1
some lines after the line with both 2
some lines after the line with both 3
Once again, text with a B
more useless lines 1
more useless lines 2
more useless lines 3
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.