Pathologically Eclectic Rubbish Lister PerlMonks

### comment on

 Need Help??
the my @A assignment uses the values of \$x and \$y at that time, and then you get an AoA of static numbers .. changing \$x and \$y after the fact will have no effect. I believe what you're looking for is a function, so you can pass in \$x and \$y and get back the array calculated for those two values.
```sub makeBoxArray {
my (\$x, \$y) =  @_;
return (
[ ([\$x, \$y  ]), ([\$x+1, \$y  ]), ([\$x+2, \$y  ]), ([\$x+3, \$y  ]) ],
[ ([\$x, \$y+1]), ([\$x+1, \$y+1]), ([\$x+2, \$y+1]), ([\$x+3, \$y+1]) ],
[ ([\$x, \$y+2]), ([\$x+1, \$y+2]), ([\$x+2, \$y+2]), ([\$x+3, \$y+2]) ],
[ ([\$x, \$y+3]), ([\$x+1, \$y+3]), ([\$x+2, \$y+3]), ([\$x+3, \$y+3]) ],
);
}

my @A = makeBoxArray( 5, 10 );
# use @A for something
@A = makeBoxArray( 7, 2 );
# use @A for something
To take it a step further, the array can be generated using map to eliminate the repetitive text, and also add optional params for the box size:
```sub makeBoxArray {
my \$left = shift;
my \$top = shift;
my \$width = shift || 4;
my \$height = shift || 4;
return map {
my \$y = \$_;
[ map { [\$left+\$_, \$top+\$y] } 0 .. \$width-1 ]
} 0 .. \$height-1 ;
}

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

• Are you posting in the right place? Check out Where do I post X? to know for sure.
• Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
• Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
• Want more info? How to link or or How to display code and escape characters are good places to start.

Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2022-05-22 12:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Do you prefer to work remotely?

Results (80 votes). Check out past polls.

Notices?