in reply to Tk::MainWindow->new() XLib error

Have you tried putting 'eval' around your script?
eval { require Tk ; MainWindow->new() ; MainLoop ; } ;