Hello! First time poster here, so please be gentle if I transgress.
Consider the following short piece of code:
#!/bin/perl
use GDBM_File;
# File 'voo' created with:
#tie %DBM, GDBM_File, 'voo', &GDBM_WRCREAT, 0644;
#$DBM{'goo'}='moo';
#untie %DBM;
sub DBMopenread {
$DBREFread=tie %DBM, GDBM_File, $_[0], &GDBM_READER, 0644;
}
sub DBMcloseread {
$DBREFread = undef; untie %DBM;
}
&DBMopenread('voo');
#$DBREFread=tie %DBM, GDBM_File, 'voo', &GDBM_READER, 0644;
$m=$DBM{'goo'};
print "$m\n";
&DBMcloseread("voo");
When run with the &DBMopenread call, under both Linux and Solaris, I see (the appropriate version of) this message:
Argument "voo" isn't numeric in subroutine entry at /opt/perl/lib/5.6.
+1/sun4-solaris/GDBM_File.pm line 69.
However, if I comment out the &DBMopenread call and just use the direct tie statement... no errors.
Can anyone shed light on this strange situation? I'm trying to eliminate some Apache error_log messages. Thank you!
-
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.