после нескольких недель болезни я пытаюсь вернуться в свои проекты сценариев и, похоже, сталкиваюсь с новичком в скорости.
Я пытаюсь собрать сценарий для отбраковки файла, а затем обработать параметры из файла с помощью регулярных выражений и создать хеш из найденных параметров.
Но проблема, с которой я сталкиваюсь, заключается в том, что хеш создается не так, как я хочу, или, по крайней мере, я думаю, что это не так.
Вот крошечный скрипт, над которым я работаю.
#!/usr/bin/perl
use strict;
use warnings;
use File::Slurp;
use Data::Dumper;
my %config;
my $text = read_file("./config/settings.cfg");
if ($text =~ /^esxi\.host\s+=\s+(?<host>.+)/xm) {
$config{host} = "$+{host}";
}
print Dumper (%config);
Для желающих выполнить скрипт здесь находится файл конфигурации, который я создаю
Connection Options:
######################################################
esxi.host = server01
esxi.port = 22
esxi.username = root
esxi.password = password
######################################################
Backup Options:
#########################
Compression Options:
0 = none
1 = tar
2 = gzip
3 = tar+gzip
#########################
backup.compression = 0
Просто сохраните его в файле с именем settings.cfg
, если вы не хотите изменять параметр в скрипте.
Во всяком случае, это вывод, который я получаю от Data::Dumper
.
$VAR1 = 'server01';
$VAR2 = {
'host' => 'esxi01'
};
Я пытаюсь сделать server01
корневым ключом хэша и host
подключом, потому что у меня также будут подразделы для пользователя, пароля и номера порта.
Я жевал это около получаса (частично отвлекшись), пытаясь выяснить, почему это не работает, любая помощь будет наиболее ценной.