# These brackets limit the scope of the lexical variables { # So this is a global variable that can only be seen # between here and the close bracket below my(%parts); sub register_table { my($part_name,$part) = @_; $parts{$part_name} = $part; } sub get_table { my($part_name) = @_; return($parts{$part_name}); } } # So out here we can call ®ister_table and # &get_table but we cannot see %parts