kotoko has asked for the wisdom of the Perl Monks concerning the following question:
I can't understand why the following code outputs as if the array had only one element.
Does it really have just one element? If yes, why? (since I call the sorter sub 2 times)
If I take out the my's it outputs as having 3 elements. Really confused. Here is the code:
Thanks for any help.#!/usr/bin/perl use strict; my $lineA = "CTACACTTCCATGACCACACATTAATAATTGTGTTCCTAATTAGCTCATTAGTACTC +TAC"; my $lineB = "CTACACTTTCACGATCATACACTAATAATCGTTTTTCTAATTAGCTCTTTAGTTCTC +TAC"; sub altrIter{return (($_[0] % 10)) }; sub altrInc {return ($_[0]+1) }; &sorter ($lineA, \&altrIter, \&altrInc); &sorter ($lineB, \&altrIter, \&altrInc); my @allSeq; my $index=0; sub sorter { my $i = &{$_[1]}($index); $allSeq[$i]= ($allSeq[$i].$_[0]); $index = &{$_[2]}($index); print "in: ".$_[0]."\n"; } for (my $i = 0; $i <= $index; $i++){ print "seq -->".$allSeq[$i]."\n"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: confusing number of elements in an array
by chromatic (Archbishop) on Apr 05, 2007 at 17:17 UTC | |
|
Re: confusing number of elements in an array
by ambrus (Abbot) on Apr 05, 2007 at 17:14 UTC | |
|
Re: confusing number of elements in an array
by kyle (Abbot) on Apr 05, 2007 at 17:21 UTC |