我有一個包含一些哈希引用(abc.pl)的perl文件,我想在另一個perl文件中打開此文件,以便我可以使用Json將其轉換爲json XS。當我嘗試打開abc.pl時,perl將其讀爲文本,我無法將其轉換爲json。如何使用Perl讀取外部文件中的perl數據結構
所以,我只是想知道在另一個perl文件中讀取abc.pl的方式,以便正確讀取哈希引用,然後可以轉換爲json。
我有一個包含一些哈希引用(abc.pl)的perl文件,我想在另一個perl文件中打開此文件,以便我可以使用Json將其轉換爲json XS。當我嘗試打開abc.pl時,perl將其讀爲文本,我無法將其轉換爲json。如何使用Perl讀取外部文件中的perl數據結構
所以,我只是想知道在另一個perl文件中讀取abc.pl的方式,以便正確讀取哈希引用,然後可以轉換爲json。
假設你有一個看起來像這樣的數據文件:
$VAR1 = {
'bar' => 2,
'baz' => 3,
'foo' => 1
};
您可以評估使用do功能結構。例如,
use strict;
use warnings;
use JSON::XS;
my $data = do 'abc.pl';
my $json = encode_json $data;
print $json;
散列引用不能存在於文件中。請澄清。你的意思是它包含返回散列引用的代碼嗎? – ikegami
該文件包含如下數據結構的組合:abc {z} = {a =>「bc」,d =>「ef」,g => [h => {t =>「ij」}}}; – Paul
我認爲你的意思是'$ abc {z}',在這種情況下,它就是Perl代碼。確保文件以'\%abc'結尾,並且您可以使用friedo的代碼。 – ikegami