I suspect Chris is on linux/unix, reading \r\n.  that conversion from 
\r\n to \n would only happen on a windows perl, reading a windows text 
file.  it's not clear such a conversion would happen even in windows 
perl if it was reading a database blob (or whatever it was), which is 
what Chris is doing.<br><br><div class="gmail_quote">On Sun, Oct 28, 2012 at 2:44 PM, Tom Legrady <span dir="ltr"><<a href="mailto:legrady@gmail.com" target="_blank">legrady@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br><div class="gmail_quote"><div class="im">On Sun, Oct 28, 2012 at 2:23 PM, Chris Jones <span dir="ltr"><<a href="mailto:cj@enersave.ca" target="_blank">cj@enersave.ca</a>></span> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">
At 07:22 PM 27/10/2012, Uri Guttman wrote:<br>
</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 10/27/2012 06:57 PM, Rob Janes wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
$1 doesn't work.<br>
<br>
\1 is the characters matched while $1 is the pattern matched.<br>
<br>
It only matters if u want to match pure string.<br>
</blockquote>
<br>
that is wrong. both are only references to a grab which is always a string. you can use \1 in the regex to match what you have previously matched and grabbed. $1 is used in the replacement or after the regex to get what was grabbed. neither contains a regex.<br>


<br>
uri<br>
</blockquote>
<br></div></div><div class="im">
Chapman states that \1 is used with in the pattern and $1 is used everywhere else.  He offers this example:<br>
<br>
while(<>)<br>
{<br>
   s/(\w+ and \1/$1 twice/;<br>
   s/(w+) and (\w+)/$2 and $1/;<br>
}<br>
<br>
This example reverses pairs of different words, 'Marks and Spencer' into 'Spencer and Marks', and collapses identical pairs, taking 'Sattchi and Sattchi' into 'Sattchi twice'<br>
<br>
So, my example should be $exp =~ s/(\s|\r\n)\1+/$1/g;<br></div></blockquote><div><br></div><div>You don't need \r\n ... \n is sufficient:</div><div><br></div><div>      "<code style="background-color:rgb(238,238,221);border:1px solid rgb(204,204,204);font-size:1.2em;color:rgb(81,81,81)">\<span style="color:rgb(0,0,0)">n</span></code><span style="color:rgb(81,81,81);font-size:13px;font-family:'Helvetica Neue',Arial,Helvetica,Geneva,sans-serif"> matches a logical newline. Perl converts between </span><code style="background-color:rgb(238,238,221);border:1px solid rgb(204,204,204);font-size:1.2em;color:rgb(81,81,81)">\<span style="color:rgb(0,0,0)">n</span></code><span style="color:rgb(81,81,81);font-size:13px;font-family:'Helvetica Neue',Arial,Helvetica,Geneva,sans-serif"> and your</span></div>

<div><span style="color:rgb(81,81,81);font-size:13px;font-family:'Helvetica Neue',Arial,Helvetica,Geneva,sans-serif">       OS's native newline character when reading from or writing to text </span></div>
<div><span style="color:rgb(81,81,81);font-size:13px;font-family:'Helvetica Neue',Arial,Helvetica,Geneva,sans-serif">       files."</span></div><div>                  'Character Escapes' </div>
<div>                  in <a href="http://perldoc.perl.org/perlrebackslash.html" target="_blank">http://perldoc.perl.org/perlrebackslash.html</a></div><div><br></div><div>Also, do you want to wind up with either a space or a newline, accidentally, depending on which one came first? </div>

<div><br></div><div>Consider       "line 1 \n \nline 3" collapsing into "line1 line 3"</div><div>compared to "line 1\n \nline 3"  collapsing into "line1\nline 3"</div><div>just because of a trailing  space.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div><div>Tom</div><div><br></div></font></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
>><br>
Christopher Jones, P.Eng.<br>
Suite 1801, 1 Yonge Street<br>
Toronto, ON M5E1W7<br>
Tel. <a href="tel:416-203-7465" value="+14162037465" target="_blank">416-203-7465</a><br>
Fax. <a href="tel:416-946-1005" value="+14169461005" target="_blank">416-946-1005</a><br>
email <a href="mailto:cj@enersave.ca" target="_blank">cj@enersave.ca</a><br>
<br></div><div class="im">
______________________________<u></u>_________________<br>
toronto-pm mailing list<br>
<a href="mailto:toronto-pm@pm.org" target="_blank">toronto-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/<u></u>listinfo/toronto-pm</a><br>
</div></blockquote></div><br>
<br>_______________________________________________<br>
toronto-pm mailing list<br>
<a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br>
<br></blockquote></div><br>