http://www.perlmonks.org?node_id=1030296


in reply to wxPerl: Wx::DatePickerCtrl working, Wx::TimePickerCtrl failing?

congratulations, you've found a bug

According to http://docs.wxwidgets.org/trunk/classwx_time_picker_ctrl.html that module is only available since 2.9.3

However this works (the bug part) on earlier versions

$ perl -MWx=:allclasses -le " print Wx::TimePickerCtrl->new " Wx::TimePickerCtrl=HASH(0x3fa184) $ perl -MWx -le " print join q/ /, $Wx::VERSION, Wx::wxVERSION_STRING +" 0.9918 wxWidgets 2.8.12

But if you provoke usage you'll see the bug part

$ perl -MWx=:allclasses -le " print Wx::TimePickerCtrl->new( (undef) x + 33 ) " Usage: Wx::Window::newFull(CLASS, parent, id = wxID_ANY, pos = wxDefau +ltPosition, size = wxDefaultSize, style = 0, name = wxPanelNameStr) a +t -e line 1.

The cause of the bug is inheritance

perl\vendor\lib\Wx\Calendar.pm 33:package Wx::TimePickerCtrl; @ISA = qw(Wx::Control);

That part should be conditional, like this package Wx::TimePickerCtrl;  Wx::wxVERSION() >= 2.009003 and  @ISA = qw(Wx::Control);

Naturally, wxperl_usage / wxperl-usage / wxPerl::Usage / Class Method Browser , available methods, method invocation syntax, link to docs doesn't list it as available :)