Was betterworld damit zum Ausdruck bringen wollte war, dass Du eine for-Schleife nach der anderen aus der Sub hättest schmeißen können. Damit hättest Du das Problem eingrenzen können. Denn wenn Du eine Schleife rausschmeißt und der Fehler immer noch auftaucht, dann ist diese Schleife mit sehr hoher Wahrscheinlichkeit nicht Ursache für den Fehler. So kannst Du iterativ vorgehen, bis Dein Code nur noch so ausgesehen hätte:
mysub('skalar','skalar');
sub mysub(){
}
Da wäre der Fehler schnell ersichtlich gewesen (vielleicht nicht für Dich - wenn Du vorher noch nichts von Prototypen gehört hast). Wir hätten aber nicht nach Code fragen müssen...
Nichts für ungut, aber beim nächsten Mal kannst Du es ja mal versuchen...