#!perl use strict; use warnings; use Tk; use Tk::LabEntry; my $mw = tkinit(-width => 640, -height => 480, -title => 'Programm zur Umrechnung von Clesius in ...'); $mw->packPropagate(0); my $button_frame = $mw->Frame(-bg => '#259238')->pack(-fill => 'x', -expand => 0,); my $ergebnis_frame = $mw->Frame(-bg => '#9D2763')->pack(-fill => 'both', -expand => 1,); my $startwert_entry = $button_frame->LabEntry(-label => 'Startwert: ')->pack(-side => 'left',); my $endwert_entry = $button_frame->LabEntry(-label => 'Endwert: ')->pack(-side => 'left',); $button_frame->Button( -text => 'Ausrechnen...', -command => sub{ rechnen_und_anzeigen($startwert_entry, $endwert_entry, $ergebnis_frame); return 1; }, )->pack(-side => 'left',); $mw->MainLoop(); =head1 SUBS =head2 rechnen_und_anzeigen( $startwert_entry, $endwert_entry, $ergebnis_frame ) TODO: Dokumentation =cut sub rechnen_und_anzeigen { my $startwert_entry = shift or die('Missing startwert_entry'); my $endwert_entry = shift or die('Missing endwert_entry'); my $ergebnis_frame = shift or die('Missing ergebnis_frame'); my $startwert = $startwert_entry->get(); my $endwert = $endwert_entry->get(); return if $startwert !~ m/^\d+$/; return if $endwert !~ m/^\d+$/; print "TODO: C in F usw. mit $startwert und $endwert\n"; $ergebnis_frame->Label(-text => 'Hallo Ergebnis!')->pack(); } # /rechnen_und_anzeigen