in reply to Tk::Error that I do not understand.

ok. I want you to add this to your code. at the top add
use diagnostics;
you probably ment to have this instead
my @tableArray = ( [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ], [ 1..COLS ] );
so go ahead and change that also. Now were going to add a few lines of debugging code.
sub addToTable { foreach (@_) { print "$_\n"; } print "elements passed " . scaler(@_) ."\n";
Now go ahead and run your script. This should then show you that when you click on a phone number it is passing 5 elements to the sub. And when you click on the date it will tell you that you only passed 4. Because your sub is setup to take the correct amount of args when you click on the phone number it is causing your data to be one element off when clicking on the phone number. I'm not sure what exactly is causing it, but I'll keep playing with it. But this should give you a good idea on where to start since its your code :)


-bn

Replies are listed 'Best First'.
Re: Re: Tk::Error that I do not understand.
by rbc (Curate) on Feb 18, 2002 at 17:31 UTC
    Thanks BeernuT!

    That helps.
    I changed my code like so ...
    $menu->add( 'command', -label => "2nd col", -command => [\&addToTable,'filler',$date, 1, \@tableArray, +$table]); $menu->add( 'command', -label => "3rd col", -command => [\&addToTable,'filler',$date, 2, \@tableArray, +$table ]);

    ... I don't really understand why I have to put in the
    extra parameter ('filler'), but what the heck it works!
    Thanks again!