I took a look at the code, and added
print "*** ($capsule) *** Result: ($result)\n";
to the code. When I ran the code, I got
# capsule overload eval-ing : ${$_[0]} eq $_[1]
# capsule overload returning: 1
*** (It's a widget!) *** Result: ()
# result of comparison: false
which seems to mean that the
eq has failed. However, when I replace
eq with
=~, the code appears to work as you expected; however, then it appears to bypass the
nomethod overload.
*** (It's a widget!) *** Result: (1)
# result of comparison: true
# result of comparison: false
Likewise with substituting !~ for ne.
Wish I could be of more help,
-v
-
Update 1:
-
It appears as if nomethod fails to return anything even when hardcoded. I probably need to do more research.
-v
-
Update 2:
-
It looks like Capsule is looking for a nomethod in Widget, but failing to find that, invokes Capsule's nomethod. However, it appears to toss the value in what looks like a return through Widget. It should probably be run through the perl debugger will full tracing.
Sorry again,
-v
"Perl. There is no substitute."
-
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.