$ head tst<br>a<br>b<br>c<br>d<br>e<br>a<br>b<br>c<br>d<br>e<br><br>$ perl -i -pne &#39;BEGIN{$a=1}$a++ if (s/a/$a a/)&#39; tst <br><br>$ head tst<br>1 a<br>b<br>c<br>d<br>e<br>2 a<br>b<br>c<br>d<br>e<br><br><br>when you have a -n<br>

it takes the whole block and puts it inside <br>while(&lt;&gt;){<br>#code goes here<br>}<br><br>what happened was that $a=1. was done every line. <br><br>BEGIN{}<br>goes before the while. <br>-a<br>does a @F=split<br><br>

in the first line. <br><br>----<br>p.s. remember that $a is magic , sort{$a&lt;=&gt;$b} works in strict because $a is already declared. so you may want to use another name. $c is good <br><br clear="all">-- vish<br><br><br>


<br><br><div class="gmail_quote">On 20 February 2012 09:17, sawyer x <span dir="ltr">&lt;<a href="mailto:xsawyerx@gmail.com">xsawyerx@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><br><div class="gmail_quote"><div class="im">On Mon, Feb 20, 2012 at 9:33 AM, Dov Levenglick <span dir="ltr">&lt;<a href="mailto:dov.levenglick@gmail.com" target="_blank">dov.levenglick@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Why isn&#39;t $a incrementing in this one-liner:<br>
perl -ibak -pe &quot;$a=1; $a++ if (s/   ADDR_RESET_PAIR/    $a<br>
ADDR_RESET_PAIR/);&quot; file.txt<br></blockquote></div><div><br>-p is line based. Perhaps $a is getting initialized every time.<br>If it doesn&#39;t maintain the scope, there is no way it will work.<br><br></div></div></div>


<br>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@perl.org.il">Perl@perl.org.il</a><br>
<a href="http://mail.perl.org.il/mailman/listinfo/perl" target="_blank">http://mail.perl.org.il/mailman/listinfo/perl</a><br></blockquote></div><br>