in reply to problem in my sub partition

Hi!

Line 34 is

$b[$i] = $a[$i] + $a[$j];
And the error is Use of uninitialized value in addition (+) at yanghui.pl line 34..

So obviously either $a[$i] or $a[$j] are undefined.

Now lets have a look at $i and $j:

for($i=1;$i<=$k;$i++){ # $k = $#a + 1; $j = $i - 1;
So $j goes from 0 to the number of the last element of $a. And $i goes from 1 to the last element + 1!

The element $a["last element + 1"] is undefined, and that's the reason for your error.

The solution is simple: just let your loop process one element less:

for($i=1;$i<$k;$i++)

HTH, Rata