Source

WxPerlBook / example / 3a_top_level_window / golden_button.pl

use strict;
use warnings;

package App;
use parent qw(Wx::App);
use Wx;

sub OnInit {
	my $app   = shift;
	my $frame = Wx::Frame->new( undef, -1, 'Golden Proportion');

	my $button = Wx::Button->new($frame, -1,  'make it golden');
	Wx::Event::EVT_BUTTON( $button, $button, sub {
		my $size = $button->GetSize;
		$size->SetWidth( $size->GetHeight * 1.618 ) ;
		$button->SetSize( $size );
		$frame->Fit;
	} );

	$frame->Center();
	$frame->Show(1);
	$app->SetTopWindow($frame);
	1;
}

package main;
App->new->MainLoop;