Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: A graphical regular expression tester.

by reasonablekeith (Deacon)
on Dec 07, 2006 at 18:42 UTC ( [id://588424]=note: print w/replies, xml ) Need Help??


in reply to Re: A graphical regular expression tester.
in thread A graphical regular expression tester.

Weird, your example tested fine until I clicked one of the switches, then got a similar error to you. However, I noticed the error didn't occur when clicking the checkbox for 'g'. The way subroutine call for this event is handled differently, so I swapped the following....
< $check_switch_i->bind('<Button-1>', \&button_run('now')); < $check_switch_m->bind('<Button-1>', \&button_run('now')); < $check_switch_s->bind('<Button-1>', \&button_run('now')); > $check_switch_i->bind('<Button-1>', sub { button_run('now') }); > $check_switch_m->bind('<Button-1>', sub { button_run('now') }); > $check_switch_s->bind('<Button-1>', sub { button_run('now') });
...and the bug has gone. I've no idea why though. Anyone?

Cheers, Rob

---
my name's not Keith, and I'm not reasonable.

Replies are listed 'Best First'.
Re^3: A graphical regular expression tester.
by liverpole (Monsignor) on Dec 07, 2006 at 19:00 UTC
    Hi reasonablekeith,

    Yes, it's because you're not doing what you think you're doing with:

    $check_switch_i->bind('<Button-1>', \&button_run('now'));

    If you run perl -MO=Deparse on that, it'll show you:

    $check_switch_i->bind('<Button-1>', \(&button_run('now')));

    Which means that you're calling bind with a reference to the results of a call to the subroutine button_run.

    What you want, instead (if you're going to use that style of notation), is the anonymous list syntax:

    $check_switch_i->bind('<Button-1>', [ \&button_run, 'now' ]);

    s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (1)
As of 2024-04-24 17:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found