ошибся со скобками в первом посте. у меня в коде так и прописано. вот только пока хеш %MODULES не является shared всё нормально присваевается, когда объявлю его как :shared сразу начинает ругаться той же ошибкой "Invalid value for shared scalar"
сделал маленький тест:
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
use threads;
use threads::shared;
my %MODULES :shared = () ;
my $name = \'test_key\';
$MODULES{$name } = {
\'subs\' => {c=>\'\',d=>\'\',e=>\'\'},
\'info\' => {},
\'messages\' => [] };
print "\\r\\n";
print Dumper(\\%MODULES);
print "\\r\\n";
как же всё это заставить работать?) и в чём именно проблема?)