2010-07-16 61 views
0

我是ruby的新手,但它並不是真正的來自perl的改變的激烈,反正寫了一個簡單的腳本來將我的perl Data :: Dumper輸出轉換成yaml configs,我的問題是我使用eval來實現這一點,並看到我可能會喜歡其他人使用這個腳本,我想消除更理智的eval。正在尋找一個eval的替代品

例如:

輸入文件包含

$VAR1 = { 'object' => { 'some_key' => 'some_value' } } 

方法在

# read in file here ... 
eval(stringified_file) 
print $VAR1.to_yaml 

輸出讀它

object: 
    some_key: some_value 

謝謝:)

回答

5

在Perl方面,您可以將數據結構輸出到YAML(我喜歡YAML :: Syck),然後在Ruby端以YAML方式讀取數據。這樣你就不需要做一個評估。

+0

我沒有這樣做的奢華,另一個問題是,有數以百計的腳本預先執行相同的操作。我們很遺憾地將它們用作配置文件。 – sploit 2010-07-16 14:01:27

+0

嗯。將Dumper出口保存爲配置文件是您可以重新訪問的架構決策嗎?從長遠來看,這似乎是一個糟糕的主意。 – 2010-07-17 20:59:06

0

如果您無法更改源應用到輸出YAML,使用Kernel#load

require 'yaml' 

load 'dumped_file', true 
puts $VAR1.to_yaml