Во-первых, я не совсем уверен, сколько информации необходимо включить, потому что мне очень трудно отследить причину этой проблемы.
У меня есть роль Moose с подпрограммой, которая (наряду с несколькими другими вещами) пытается установить атрибуты для класса следующим образом:
$genre = Movie::Genre->new({
genreName => 'Drama',
genreID => '1'
});
Проблема в том, что это не так. Дамп $genre
сразу после, указывает, что он все еще пуст:
$genre: bless( {}, 'Movie::Genre' )
Еще страннее, когда я выполняю ТОЧНУЮ ЖЕ ЛИНИЮ в моем тестовом файле, он работает, как и ожидалось, с этим дампом:
$genre: bless( {
genreID => '1',
genreName => 'Drama'
}, 'Movie::Genre' )
Я изо всех сил пытаюсь найти то, что отличает эти две строки кода, заставляя одну работать, а другую - отказывать.
Есть какие-нибудь идеи относительно того, какие условия приведут к тому, что первый пример потерпит неудачу и позволит второму добиться успеха? Я был бы рад предоставить больше контекста, если это необходимо. Спасибо!