Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re^2: A graphical regular expression tester.

by reasonablekeith (Deacon)
on Dec 07, 2006 at 18:42 UTC ( #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' ]);


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2022-12-07 16:59 GMT
Find Nodes?
    Voting Booth?

    No recent polls found