#!/usr/bin/perl use strict; use Tk; my $mw = MainWindow->new; my $btnframe = $mw->Frame()->pack(-side => 'top'); my $lstframe = $mw->Frame()->pack(-side => 'top'); my $listbox = $lstframe->Listbox(-height => 16, -width => 16)->pack; my @listdata = ; chomp @listdata; $listbox->insert( 'end', @listdata ); for (qw/5x8 10x10 16x20/) { $btnframe->Button(-text => $_, -command => [ \&resize, $listbox, $_ ], )->pack(-side => 'left'); } MainLoop; sub resize { my ( $lbox, $size ) = @_; my ( $newh, $neww ) = split( /x/, $size ); $lbox->packForget; $lbox->configure(-height => $newh, -width => $neww ); $lbox->pack; } __DATA__ 1234567890123456 ABCDEFGHIJK 1234567890 abcdefghi 12345 stuv foo bar baz junk extra lines last line with no blank following