One thing some beginning programmers (usually of the procedural discipline) often miss is that functions are supposed to be like their mathematical definition, f(x) = expr. That is, they generally take a value or three as input, and return a value as output. They aren't supposed to access variables outside their scope ("globals", as we call them in the programming world). Of course, there are half a dozen of exceptions to that rule.

I can see that you are accessing the variables $clrNr, $tempfil, and $qry. I'll trust that the latter two are OK as globals, but the first one probably isn't. Here's how we pass it to your function:

sub kundNytt { my ($trans) = @_; # do something with $trans }

And here is how you call it.

$clrNr = 42; kundNytt($clrNr);

Your code, as it is currently, is fragile, and relies on $clrNr being correctly set before the function is called. It will break sooner or later. Seeing that functions are akin to their mathematical definition helps produce code that is much easier to understand and more reliable.

Ah, this is probably covered in pretty much every programming book written in the last three decades. You could read one :)


In reply to Re^3: Print HTML form to file using CGI.pm save method by Anonymous Monk
in thread Print HTML form to file using CGI.pm save method by SerZKO

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.