My definition of legitimate assistance would be assistance that helps you understand, which doesn't in any way contribute to the work that you'll later submit as your own.
Some trivial examples of clearly legitimate assistance: Advice on study strategies (which I already gave you), pointing you at http://www.perldoc.com/online documentation (personally I prefer using the perldoc command to get the version that matches my version of Perl), answering conceptual questions that you have, and assisting you after the fact in understanding why you got the grade that you got.
Of course giving you that kind of assistance generally requires that you have done enough work up front to identify how you need to be helped. Which serves many good purposes. First of all if you take that energy you'll often manage to work out the answer and won't need assistance. Secondly if you do need assistance, you're now primed to internalize good advice and so get more value from effort spent. Thirdly your up front work gives you more focussed questions, allowing others to give answers that are more likely to address where you actually are.
A trivial example of assistance that I'd consider illegitimate would be someone else debugging the code that you'll submit. (Note that this is pretty much what you actually were asking for.) Figuring out what to do when things go wrong is a large part of the effort that programming takes. In fact debugging is so much of a time sink that good programmers direct most of their energy towards doing things that will simplify later debugging. That includes design activities, incremental development, writing test suites up front, inserting appropriate error checks, and so on. In fact good programmers spend a smaller fraction of their time actually programming than bad programmers do yet finish faster!
I wouldn't expect you (or anyone) to do all of that on a first programming exercise. But learning to be careful is part of the skill. Being able to track down your own syntax errors is like knowing how to dribble in basketball - theoretically you can play the game without that skill, but so poorly that you might as well not bother. And once you have an experiential foundation for knowing why care matters, you're primed to learn more advanced lessons in how to avoid those problems in the first place. |