package mybase; use threads; use threads::shared; my $mode : shared; 1; #### #!/usr/bin/perl package derived; use strict; use Exporter; use threads; use threads::shared; use mybase; use vars qw(@ISA); @ISA = ('mybase'); sub foo { lock($mybase::mode); $mybase::mode = 1; } foo(); 1; #### [root@nf-power2 perltest]# ./derived.pm lock can only be used on shared values at ./derived.pm line 12.