perhaps... ... as far as I know... even changing the value of $three which as you say is supposedly referecing c_three, the actual c_three is still not uhmm... changed. so perhaps... that construct is for another purpose... now the code... I used is make the formal parameter a referencing variable (that is referencing c_three)... so $three++
I returned the value of 4... which find_var is getting the value... and then increment the value of $three.. and thus $c_three...
and voila... 5 and 5...

your construct perhaps has another purpose... I'll read on that more.