unless (my $speciesname eq (my specieslist{$entry})) {
You don't blindly put my in front of every variable. It is a way to declare variables, so you only put it in front of the first use of a variable (and in a scope where every other use can 'see' it). First, 'specieslist' is a hash, so somewhere you would have 'my %specieslist;' or 'my %specieslist = ....;'. and so speciesname and specieslist in your clause above would not have a my.
And your clause above also has another typo, the lack of a '$' in front of specieslist (but I'm just assuming that's just a typo here from your error message). FYI, you are declaring a new lexical variable '$speciesname' above, which is only scoped (it only exists) in the 'unless' block, and it has an undefined value.
Update: Just noticed this node that might help.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|