0
我想創建YAML配置。其中我可以放入Perl代碼的文件,以減少多次寫入相同塊的工作量。或用於任何其他操作。我想有這樣的事情我YAML文件中:在YAML文件中嵌入perl
---
`my $a = 1;`
`if($a){`
foo: bar
`}else{`
foo: baz
`}
...
由於是顯而易見的,我想關鍵的「富」被分配在這個例子中,值「酒吧」。
這是個好主意還是壞主意?如果是後者,寫這個文件的文件和預處理器的最好方法是什麼?
我不認爲這是一個好主意。這將簡單的標記(就像XML--簡單?或JSON)變成了一個frankenstein怪獸,需要定製處理並可能引入安全漏洞。也許YAML可以基於YAML中的不同*鍵*編碼不同的屬性?例如,也許有一個'調試'鍵和'生產'鍵? YAML消費者然後將選擇適當的密鑰(例如,無論是在$ a中)。另一方面,如果這隻適用於* build配置*,那麼在構建/部署過程中單獨處理(即使是舊的CPP)。 – user2246674
我不得不同意這是一個壞主意。如果你真的想在配置文件中擁有「可執行文件perl」,爲什麼還要涉及到YAML?去'eval'文件的內容,並期望它返回一個hash-ref。不完全安全,但如果你處於封閉的環境中,它可以工作。 –