looks good. (1) you ->pack your buttons twice, once right after you create the button, and then inside your pinglist callback.
I don't think you need to pack in pinglist (it probably does a nop, but I'm not sure), but I think you could have put another set of parens around the button creation and packed it at the same time you created it. push(@button_list , ($mw->Button(...)->pack)); rather than doing it in a separate loop. (2) in your ts callback, it looks like you use backticks to execute a system command, but I can't see the return string being used anywhere. if you're not using the return string, I'd recommend using system() to clarify. And for future reference, if you have a system command that takes a LOOOONNNNGGGG time to execute, you're entire GUI will lock up until the callback is complete. in this case, instead of doing system(), you can use the Tk::ExecuteCommand module. This will run a system command but still allow your Tk events to occur. It executes any system command in a separate pop-up window with a "doit" and "cancel" button. very nice if you have a button that will kick off a test that takes half an hour to run. Greg _______________________________________________ Boston-pm mailing list [EMAIL PROTECTED] http://mail.pm.org/mailman/listinfo/boston-pm

