3
生病了幾個星期後,我試圖回到我的腳本項目中,似乎遇到了一個新手速度顛簸。爲什麼這個哈希顯示不正確?
我想組裝一個腳本來汲取一個文件,然後使用正則表達式從文件中處理參數,並從發現的參數構建一個哈希。
但我遇到的問題是哈希沒有按照我想要的方式構建,或者至少我認爲它不是。
這是我正在處理的小腳本。
#!/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
一個子項的根密鑰,因爲我也有用戶,密碼和端口號子項。
我一直在咀嚼大約半小時(部分分心)試圖找出它爲什麼不工作,任何幫助將不勝感激。
正是我想要的 – ianc1215 2011-03-10 05:01:10
你一定是在開玩笑....我認爲這將是簡單的,但缺少「\」是荒謬的。無論如何感謝幫助現在工作正常。 – ianc1215 2011-03-10 05:02:33
's/array/list /' – 2011-03-10 05:05:57