Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript到Perl数组/哈希转换_Javascript_Arrays_Perl_Hash - Fatal编程技术网

Javascript到Perl数组/哈希转换

Javascript到Perl数组/哈希转换,javascript,arrays,perl,hash,Javascript,Arrays,Perl,Hash,我有以下JavaScript代码: _pCombos = [ [{row:9,col:0},{row:1,col:9},{row:1,col:2},{row:1,col:3},{row:1,col:4}], [{row:0,col:0},{row:0,col:1},{row:0,col:2},{row:0,col:3},{row:0,col:4}], [{row:2,col:0},{row:2,col:1},{row:2,col:2},{r

我有以下JavaScript代码:

    _pCombos = [
        [{row:9,col:0},{row:1,col:9},{row:1,col:2},{row:1,col:3},{row:1,col:4}],
        [{row:0,col:0},{row:0,col:1},{row:0,col:2},{row:0,col:3},{row:0,col:4}],
        [{row:2,col:0},{row:2,col:1},{row:2,col:2},{row:2,col:3},{row:2,col:4}],
        [{row:0,col:0},{row:1,col:1},{row:2,col:2},{row:1,col:3},{row:0,col:4}],
    ];
我想这样访问它

    _pCombos[0][0].row (result = 9)
    _pCombos[0][1].col (result = 9)
如何在Perl中构建此哈希/数组?除了做10个不同的循环并以这种方式构建它之外,我想不出来。但我希望它在代码运行之前就在那里

my $_pCombos = [
    [{row => 9,col => 0},{row => 1,col => 9},{row => 1,col => 2},{row => 1,col => 3},{row => 1,col => 4}],
    [{row => 0,col => 0},{row => 0,col => 1},{row => 0,col => 2},{row => 0,col => 3},{row => 0,col => 4}],
    [{row => 2,col => 0},{row => 2,col => 1},{row => 2,col => 2},{row => 2,col => 3},{row => 2,col => 4}],
    [{row => 0,col => 0},{row => 1,col => 1},{row => 2,col => 2},{row => 1,col => 3},{row => 0,col => 4}],
    ];

print $_pCombos->[0][0]{row}, "\n";
print $_pCombos->[0][1]{col}, "\n";
将打印

9
9
如果要维护javascript语法,可以使用json,如下所示:

use JSON::XS;

my $_pCombos_JSON_normalized = <<'END';
[
 [{"row":9,"col":0},{"row":1,"col":9},{"row":1,"col":2},{"row":1,"col":3},{"row":1,"col":4}],
 [{"row":0,"col":0},{"row":0,"col":1},{"row":0,"col":2},{"row":0,"col":3},{"row":0,"col":4}],
 [{"row":2,"col":0},{"row":2,"col":1},{"row":2,"col":2},{"row":2,"col":3},{"row":2,"col":4}],
 [{"row":0,"col":0},{"row":1,"col":1},{"row":2,"col":2},{"row":1,"col":3},{"row":0,"col":4}]
]
END

my $_pCombos = decode_json($_pCombos_JSON_normalized);

print $_pCombos->[0][0]{row}, "\n";
print $_pCombos->[0][1]{col}, "\n";

@亨德森:这就是你想要的吗?我假设您需要一种将JavaScript符号转换为Perl的方法。非常感谢。
9
9