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"; }
In reply to confusing number of elements in an array by kotoko
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |