Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Undefined Subroutine

by arturo (Vicar)
on May 21, 2003 at 01:57 UTC ( #259625=note: print w/ replies, xml ) Need Help??


in reply to Undefined Subroutine

What the other fine monks hath said, plus the following: if you've got a simple list of variable size, you should be thinking "array." It's much less error-prone to let the program do your repetition for you, instead of manually typing in every line. For all we know, you left off a ; or a quote in one of those lines, or the line you've added (re-emphasize the 'for all we know' part =) and that's the source of your trouble. Compare:

# OK, I'm a bit of a Standards freak, but you get my point =) print "<select name='reason'>\n"; foreach my $option (@options) { # make sure line containing only dashes is selected if ( $option =~ /^-+$/ ) { print "<option selected='selected'>"; } else { print "<option>"; } print "$option</option>\n"; }

Now of course that forces you to set up the array beforehand, but that's not very difficult either:

my @options = (); while (<DATA>) { chomp; push @options, $_; } # rest of program here, at the very end __DATA__ ----------------------------------------- Deposits PPV Dispute ...

Anyhow, just a kind of general programming note for the future, a good way of reducing bugs is to let the computer repeat stuff for you instead of doing it yourself.

HTH

If not P, what? Q maybe?
"Sidney Morgenbesser"


Comment on Re: Undefined Subroutine
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://259625]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2015-07-30 00:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (269 votes), past polls