#!/usr/bin/perl -w use strict; use Tk; my $x = '12.0'; my $y = '14.0'; my $scale = '22.5'; my $xmax = $x * $scale; my $ymax = $y * $scale; my $shouldBe = sprintf("Originally X=%4.1f, Y=%4.1f, scale=%4.1f X-max=%8.4f, Y-Max=%8.4f",$x,$y,$scale,$xmax,$ymax); my $results; my $mw = MainWindow->new; my $InFrame = $mw->Frame()->pack(-side=>'top'); $InFrame->Label(-text=>"X= ")->pack(-side=>'left'); $InFrame->Entry(-textvariable=>\$x)->pack(-side=>'left'); $InFrame->Label(-text=>" Y= ")->pack(-side=>'left'); $InFrame->Entry(-textvariable=>\$y)->pack(-side=>'left'); $InFrame->Label(-text=>"Scale= ")->pack(-side=>'left'); $InFrame->Entry(-textvariable=>\$scale)->pack(-side=>'left'); my $OutFrame = $mw->Frame()->pack(-side=>'top'); $OutFrame->Label(-textvariable=>\$results)->pack(-side=>'top'); $OutFrame->Label(-textvariable=>\$shouldBe)->pack(-side=>'top'); $mw->bind("",\&calc); $mw->bind("",\&calc); calc(); MainLoop; sub calc { $xmax = $x * $scale; $ymax = $y * $scale; $results = sprintf("Calculated X-max=%8.4f, Y-Max=%8.4f",$xmax,$ymax); print "$x, $y, $scale, $xmax, $ymax\n"; }