use warnings;
use strict;
use Tk;

# Das mw erzeugen
my $mw = MainWindow->new();
$mw->Label(-text => '     Test für Radiobutton     ')->pack();

my $status = '';
my $typ = 0;
my $farbe = 0;

my @sorten = ('Limousine',
              'Coupe',
              'Kombi',
              'Cabriolet',
              'Roadster',
             );

my @farben = ('Rot',
              'Gelb',
              'Grün',
              'Blau',
              'Violett',
              'Pink',
              'Silber',
              'Weiss',
              'Schwarz'
             );

my $label = $mw->Label(-relief => 'ridge',
                       -textvariable => \$status);
$label->pack(-padx => 10, -pady => 10);

# mal wieder einen Exit-Button
$mw->Button(-text     => "   Exit   ",
            -command  => sub { exit 0 })
               ->pack(-padx => 10, -pady => 10);

# fuer jede Radiobuttongruppe einen Frame
my $f1 = $mw->Frame(-borderwidth => 3,
                    -relief      =>'groove');

$f1->pack(#-side    =>'left',
          -expand  => 1,
          -fill    => 'both');

my $f2 = $mw->Frame(-borderwidth => 3,
                    -relief      =>'groove');

$f2->pack(#-side    =>'left',
          -expand  => 1,
          -fill    => 'both');

# Jetzt die Frames mit Radiobuttons fuellen
for my $i (0..$#sorten)
  {
  $f1->Radiobutton(-text     => $sorten[$i],
                   -variable => \$typ,
                   -value    => $i)
                      ->pack(-anchor=> 'w', -side => 'left');
  }

for my $i (0..$#farben)
  {
  $f2->Radiobutton(-text     => $farben[$i],
                   -variable => \$farbe,
                   -value    => $i)
                      ->pack(-anchor=> 'w', -side => 'left');
  }

# Alle Werte ständig updaten
$mw->repeat(200,sub {$status = "Typ: $typ, Farbe: $farbe"; });

MainLoop;