1

I've got the following code in 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}],
    ];

I would access it like this

    _pCombos[0][0].row (result = 9)
    _pCombos[0][1].col (result = 9)

How can I build this Hash/Array in Perl? I can't figure it out other than doing 10 different loops and building it that way. But I want it to be there before the code runs.

1 Answer 1

2
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";

will print

9
9

if you want to maintain the javascript syntax, you can use json, like this:

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";

will also print

9
9
Sign up to request clarification or add additional context in comments.

1 Comment

@P.Henderson: Is this what you you wanted? I assumed you needed a way to translate JavaScript notation to Perl.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.