If you have "use warnings;" in your code (or run with "perl -w"), you should get the warning:
Reference found where even-sized list expected
If you don't have "use warnings;", then
put it in before asking a question. The warnings are there to help you, not annoy you.
UPDATE: And, if the warning is a little obscure, which in this case it is if you haven't seen it before, you can also "use diagnostics;". For example, perl -Mdiagnostics -w pm602312.pl gives:
Reference found where even-sized list expected at pm602312.pl line 2
(W misc) You gave a single reference where Perl was expecting a list
with an even number of elements (for assignment to a hash). This usua
+lly
means that you used the anon hash constructor when you meant to use
parens. In any case, a hash requires key/value pairs.
%hash = { one => 1, two => 2, }; # WRONG
%hash = [ qw/ an anon array / ]; # WRONG
%hash = ( one => 1, two => 2, ); # right
%hash = qw( one 1 two 2 ); # also fine
-
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.