#!/usr/bin/perl -w use strict; use Tk; use Tk::Pane; # Set to 0 or 1 before running. my $grid_method = 1; my $mw = MainWindow->new( -title => "SACL Survey" ); my $pane = $mw->Scrolled(qw/Pane -scrollbars osow/)->pack( -expand => 'yes', -fill => 'both', ); $mw->Label( -text => "... ..." )->pack(); my @button_values; if ($grid_method) { foreach my $j (1..4) { $pane->Label( -text => $j, )->grid( -column => $j, -row => 1, ); } foreach my $i (1..30) { foreach my $j (1..4) { $pane->Radiobutton( -value => $j, -variable => \$button_values[$i-1], )->grid( -column => $j, -row => $i+1, ); } } } else { foreach my $i (1..30) { my $frame = $pane->Frame->pack(); foreach my $j (1..4) { $frame->Radiobutton( -text => $j, -value => $j, -variable => \$button_values[$i-1], )->pack( -side => 'left', ); } } } MainLoop; use Data::Dumper; print Dumper \@button_values;