我有一個哈希在Perl以下聲明掙扎:我在Perl中聲明一個散列裏面的散列有什麼問題?
my %xmlStructure = {
hostname => $dbHost,
username => $dbUsername,
password => $dbPassword,
dev_table => $dbTable,
octopus => {
alert_dir => $alert_dir,
broadcast_id => $broadcast_id,
system_id => $system_id,
subkey => $subkey
}
};
我一直在使用Google,但我一直沒能拿出一個解決方案,並且每次修改我在做結束另一個警告或者我不想要的結果。
Perl的投訴有以下文字:
Reference found where even-sized list expected at ./configurator.pl line X.
我做這樣的說法,因爲我想使用的模塊:
XML::Simple
爲了生成具有以下內容的XML文件結構:
<settings>
<username></username>
<password></password>
<database></database>
<hostname></hostname>
<dev_table></dev_table>
<octopus>
<alert_dir></alert_dir>
<broadcast_id></broadcast_id>
<subkey></subkey>
</octopus>
</settings>
所以sometthing,如:
my $data = $xmlFile->XMLout(%xmlStructure);
warn Dumper($data);
將顯示後面的xml示例結構。
更新:
我忘了提,我使用括號,而不是對散列引用大括號也試過了,儘管它已經似乎工作時,XML文件沒有正確地寫入: 我結束了結構如下:
<settings>
<dev_table>5L3IQWmNOw==</dev_table>
<hostname>gQMgO3/hvMjc</hostname>
<octopus>
<alert_dir>l</alert_dir>
<broadcast_id>l</broadcast_id>
<subkey>l</subkey>
<system_id>l</system_id>
</octopus>
<password>dZJomteHXg==</password>
<username>sjfPIQ==</username>
</settings>
這不完全是錯的,但我不知道如果我要對爲XML文件增長更大後者的問題。證書使用RC4算法進行加密,但我使用base 64進行編碼,以避免使用特殊字符進行任何錯誤操作。 謝謝
謝謝!我對Perl很陌生,而且我不知道這種類型的庫。這個人完成了我想要的工作。 – ILikeTacos