Yes this is a Perl language question really. Arguments to subroutines are passed by-copy in Perl, so you can just pass $s directly like enterCommands($s, @array) and it will work. Also, when calling methods on $s you should not use the round brackets: $s->cmd() will work fine.
I think you might want to look at buying a copy of the Learning Perl O'Reilly book which is a good introduction to Perl.
Best of luck,