use Wx; package MyApp; use base 'Wx::App'; use Wx qw(wxHORIZONTAL wxVERTICAL wxALL wxALIGN_CENTER); use Wx::Event 'EVT_BUTTON'; our ($frame, $text_input, $integer_input); sub OnInit {$frame = new Wx::Frame (undef, -1, 'Input window', [-1, -1], [250, 150]); my $panel = new Wx::Panel($frame, -1); $text_input = new Wx::TextCtrl($panel, -1, ''); $integer_input = new Wx::SpinCtrl ($panel, -1, '', [-1, -1], [-1, -1], 0, 0, 100_000); my $okay_button = new Wx::Button($panel, -1, 'OK'); EVT_BUTTON($frame, $okay_button, \&OnQuit); my $sizer = new Wx::BoxSizer(wxVERTICAL); $sizer->Add($_, 0, wxALL | wxALIGN_CENTER, 5) foreach $text_input, $integer_input, $okay_button; $panel->SetSizer($sizer); $frame->Show(1);} sub OnQuit {print 'String: ', $text_input->GetValue, "\n"; print 'Integer: ', $integer_input->GetValue, "\n"; $frame->Close;} # --------------------------------------------------------------- package main; MyApp->new->MainLoop;