sub AlignAll{ my ($x1, $y1, $x2, $y2); foreach my $i (0 .. 3) { my $sc = $sc[$i]; # Get Canvas object my $box = $box[$i]; # Get box id (rectangle) my ($x1, $y1, $x2, $y2) = $sc->bbox($box); # Get box coordinates my $mid = ($x1 + $x2) / 2; # Get midpoint, minus $mid -= $viewable_width / 2; # 1/2 of visible window my $newx = $mid / $initial_width; # Get delta x-distance $sc->xviewMoveto($newx); # Move Canvas object } }