Ayuda!!! como puedo hacer para que los distintos  thread modifiquen una variable 
global ?? Les paso un ejemplo que funciona pero solo modifica la variable en su
ambito y cuando sale de este sigue valiendo lo mismo que al principio;
Gracias!!! 
    use Thread;
    our $a=5;
    use strict;
MAIN: {
my $j;
    for ($j = 1; $j < 11; $j++){
    my  $thr = new Thread \&sample_sub, 1;
    sleep 1;
   }
sleep 5;
}
 sub sample_sub {
         lock $a;
          warn "a sigue : $a";
          $a --; 
           warn "a: $a";
    }