У меня есть хэш констант, которые я хочу перебирать в другом файле. Таким образом, у меня есть файл, содержащий глобальные константы:Итерация через глобальные хэш-константы в perl
use base qw (Exporter);
use constant ERROR_CONFIG => {
ERROR_STRING => {
errorCode => 1234,
default => 'Some default text here',
},
ERROR_STRING => {
errorCode => 12345,
default => 'More text',
},
};
Так что я, кажется, чтобы иметь доступ к нему в другом файле, но я не могу итерацию через него.
Я хочу, чтобы перебрать весь ключевой (ERROR_STRING)
Тогда я хочу, чтобы перебрать его и нажать в ссылку на массив, но Perl не кажется, чтобы увидеть его в качестве хэша. Я попытался следующие, но это не сработало, когда я Вытряхивали результат:
my @array =();
$stringsRef = \@array;
my %config = &ERROR_CONFIG;
foreach my $key (keys %config) {
push @$stringsRef, {name => 'ERROR_MESSAGE_' . $key};
}
Data::Dumper::Dumper($stringsArray);
Я не кажется, чтобы получить какой-либо результат здесь, только ошибка, даже если я пытаюсь положить & ERROR_CONFIG прямо вместо % конфигурации.
'использование предупреждений;' может быть полезно. –
Удивительно, если бы мы могли просто всплывать по любому вопросу с меткой 'perl' -« эй, вы использовали строгую, используйте предупреждения? Если нет, сначала сделайте это, а затем отформатируйте свой код. – Sobrique
Я используя предупреждения и строгие. – snakespan