#!/usr/bin/perl -w use strict; use Tk; my @SLIDERVALUES = (0, 0, 0, 0); my @slider; my $i; sub show_array { print "\@SLIDERVALUES = ($SLIDERVALUES[0], $SLIDERVALUES[1], $SLIDERVALUES[2], $SLIDERVALUES[3])\n"; } # window setup my $mw = MainWindow->new; foreach my $i (0 .. 3) { $slider[$i] = $mw->Scale (-from => 30, -to => 0, -orient => 'vertical', -variable => \$SLIDERVALUES[$i], )->pack ( -side => 'left', ); } show_array(); # This breaks things! @SLIDERVALUES = (5, 10, 15, 20); show_array(); $SLIDERVALUES[0] = 7; $SLIDERVALUES[1] = 14; $SLIDERVALUES[2] = 21; $SLIDERVALUES[3] = 28; show_array(); MainLoop; #### @SLIDERVALUES = (0, 0, 0, 0) @SLIDERVALUES = (0, 0, 0, 0) @SLIDERVALUES = (7, 14, 21, 28) #### @SLIDERVALUES = (0, 0, 0, 0) @SLIDERVALUES = (5, 10, 15, 20) @SLIDERVALUES = (7, 14, 21, 28)