рдЕрдВрдЧреНрд░реЗрдЬрд╝реАрдлреНрд░реЗрдВрдЪрд╕реНрдкреЗрдирд┐рд╢

рдСрдирд╡рд░реНрдХреНрд╕ рдлрд╝реЗрд╡рд┐рдХреЙрди

рдкреЗрд░рд▓реЛрд▓ - рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдСрдирд▓рд╛рдЗрди

рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдСрдирд╡рд░реНрдХреНрд╕ рдореБрдлреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдкреЗрд░рд▓реЛрд▓ рдЪрд▓рд╛рдПрдВ

рдпрд╣ рдХрдорд╛рдВрдб рдкреЗрд░рд▓реЛрд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдИ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреИрд╕реЗ рдХрд┐ рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд╡рд░реНрдХреНрд╕ рдлреНрд░реА рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд░рдо:

рдирд╛рдо


perllol - рдкрд░реНрд▓ рдореЗрдВ рд╕рд╛рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░

рд╡рд░реНрдгрди


рдШреЛрд╖рдгрд╛ рдФрд░ рдкрд╣реБрдБрдЪ of Arrays of Arrays
рдкрд░реНрд▓ рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рджреЛ-рд╕реНрддрд░реАрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛, рдХрднреА-рдХрднреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрддреА рд╣реИ
рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рд▓рдЧрднрдЧ
рдЬреЛ рдХреБрдЫ рднреА рдпрд╣рд╛рдВ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ рдмрд╛рдж рдореЗрдВ рдХрдЯреНрдЯрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рднреА рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛
рд╕рдВрд░рдЪрдирд╛рдУрдВред

рдХрд┐рд╕реА рд╕рд░рдгреА рдХреА рдПрдХ рд╕рд░рдгреА рд╕рд┐рд░реНрдл рдПрдХ рдирд┐рдпрдорд┐рдд рдкреБрд░рд╛рдиреА рд╕рд░рдгреА @AoA рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рджреЛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬреИрд╕реЗ $AoA[3][2]ред рдпрд╣рд╛рдБ рд╕рд░рдгреА рдХреА рдШреЛрд╖рдгрд╛ рд╣реИ:

5.010 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; # рддрд╛рдХрд┐ рд╣рдо рдХрд╣реЛ() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ

# рд╣рдорд╛рд░реЗ рдПрд░реЗ рдХреЛ, рдПрд░реЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рдПрдХ рдПрд░реЗ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ
@рдПрдУрдП = (
["рдлреНрд░реЗрдб", "рдмрд╛рд░реНрдиреА", "рдХрдВрдХрдбрд╝", "рдмрдордмрдо", "рдбрд┐рдиреЛ", ],
["рдЬреЙрд░реНрдЬ", "рдЬреЗрди", "рдПрд▓рд░реЙрдп", "рдЬреВрдбреА", ],
["рд╣реЛрдорд░", "рдмрд╛рд░реНрдЯ", "рдорд╛рд░реНрдЬ", "рдореИрдЧреА", ],
);
$AoA[2][1] рдХрд╣реЗрдВ;
Bart

рдЕрдм рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдмрд╣реБрдд рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмрд╛рд╣рд░реА рдмреНрд░реИрдХреЗрдЯ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЧреЛрд▓ рд╣реЛ, рдпрд╛рдиреА рдХрд┐
рдХреЛрд╖реНрдЯрдХ. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ @array рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЛрд╖реНрдардХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд░
рдЖрдк рд╡рд╣рд╛рдВ рдЪрд╛рд╣рддреЗ рдереЗ рдирд╣реАрдВ @AoA рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЗрд╕рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджрд░реНрдн рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдХреБрдЫ рдФрд░ рдЗрд╕ рддрд░рд╣:

# рд╕рд░рдгреА рд╕рдВрджрд░реНрднреЛрдВ рдХреА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
$ref_to_AoA = [
["рдлреНрд░реЗрдб", "рдмрд╛рд░реНрдиреА", "рдХрдВрдХрдбрд╝", "рдмрдордмрдо", "рдбрд┐рдиреЛ", ],
["рдЬреЙрд░реНрдЬ", "рдЬреЗрди", "рдПрд▓рд░реЙрдп", "рдЬреВрдбреА", ],
["рд╣реЛрдорд░", "рдмрд╛рд░реНрдЯ", "рдорд╛рд░реНрдЬ", "рдореИрдЧреА", ],
];
$ref_to_AoA->[2][1] рдХрд╣реЗрдВ;
Bart

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрд╛рд╣рд░реА рдмреНрд░реИрдХреЗрдЯ рдкреНрд░рдХрд╛рд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реА рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд░реНрд▓ рдореЗрдВ рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдПрд░реЗ рдФрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рддрддреНрд╕рдВрдмрдВрдзреА. $ref_to_AoA рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ, рдЬрдмрдХрд┐ @AoA рдПрдХ рд╕рд░рдгреА рд╣реИред
рдЗрд╕реА рддрд░рд╣, $AoA[2] рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рд░рдгреА рд░реЗрдлрд░реА рд╣реИред рддреЛ рдЖрдк рдЗрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

$AoA[2][2]
$ref_to_AoA->[2][2]

рдЗрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп:

$AoA[2]->[2]
$ref_to_AoA->[2]->[2]

рдЦреИрд░, рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рдпрдо рдпрд╣ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЖрд╕рдиреНрди рдХреЛрд╖реНрдардХ рдкрд░ (рдЪрд╛рд╣реЗ рд╡рд░реНрдЧрд╛рдХрд╛рд░ рд╣реЛ рдпрд╛ рдШреБрдВрдШрд░рд╛рд▓реЗ),
рдЖрдк рдкреЙрдЗрдВрдЯрд░ рдбреАрд░реЗрдлрд╝рд░реЗрдВрд╕рд┐рдВрдЧ рддреАрд░ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдк рдРрд╕рд╛ рддрддреНрдХрд╛рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
рдкрд╣рд▓рд╛ рдпрджрд┐ рдпрд╣ рдПрдХ рдЕрджрд┐рд╢ рд░рд╛рд╢рд┐ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ $ref_to_AoA рд╣рдореЗрд╢рд╛
рдЗрд╕рдХреА рдЬрд░реВрд░рдд рд╣реИ.

рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдЖрдкрдХрд╛ рдЦреБрдж рдХреА
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдареАрдХ рд╣реИ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛
рддреБрд░рдВрдд рдирдП рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП?

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдХрд░ рджреЗрдЦреЗрдВред рдпрд╣ рдХреБрдЫ-рдХреБрдЫ a рдкрд░ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдЬреИрд╕рд╛ рд╣реИ
рд╕рдордпред рд╣рдо рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рдПрдХ рд╕рдкрд╛рдЯ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдПрдХ рд╣реИ
рддрддреНрд╡ред рдпрджрд┐ рдЖрдк рдЗрди рд╕рднреА рд╕реЗ рдпреБрдХреНрдд рдПрдХ @AoA рд╕рд░рдгреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рд╣реА рд╣реИ
рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛:

рдЬрдмрдХрд┐ (<>) {
@tmp = рд╡рд┐рднрд╛рдЬрди;
рдкреБрд╢ @AoA, [@tmp ];
}

рдЖрдкрдиреЗ рдЗрд╕реЗ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рднреА рд▓реЛрдб рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛:

$i рдХреЗ рд▓рд┐рдП (1..10) {
$AoA[$i] = [ somefunc($i) ];
}

рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рд░рдгреА рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рдмреИрдард╛ рд╣реЛред

$i рдХреЗ рд▓рд┐рдП (1..10) {
@tmp = somefunc ($ i);
$AoA[$i] = [ @tmp ];
}

рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЖрдк "[ ]" рдРрд░реЗ рд░реЗрдлрд░реЗрдВрд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред рдРрд╕рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐
рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛:

$AoA[$i] = @tmp; # рдЧрд▓рдд!

рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЙрд╕ рдЬреИрд╕реА рдирд╛рдорд┐рдд рд╕рд░рдгреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛
рд╕реНрдХреЗрд▓рд░, рд╕реНрдХреЗрд▓рд░ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рд╕рд░рдгреА рд▓реЗ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ
@tmp рдореЗрдВ рддрддреНрд╡ред

рдпрджрд┐ рдЖрдк "рдпреВрдЬрд╝ рд╕реНрдЯреНрд░рд┐рдХреНрдЯ" рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ (рдФрд░ рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдЦрд┐рд░ рдЖрдк рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИрдВ?),
рдЖрдкрдХреЛ рдЗрд╕реЗ рдЦреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдШреЛрд╖рдгрд╛рдПрдБ рдЬреЛрдбрд╝рдиреА рд╣реЛрдВрдЧреА:

рд╕рдЦреНрдд рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
рдореЗрд░рд╛ (@AoA, @tmp);
рдЬрдмрдХрд┐ (<>) {
@tmp = рд╡рд┐рднрд╛рдЬрди;
рдкреБрд╢ @AoA, [@tmp ];
}

рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдирд╛рдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгреА рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:

рдЬрдмрдХрд┐ (<>) {
рдзрдХреНрдХрд╛ @AoA, [рд╡рд┐рднрд╛рдЬрд┐рдд];
}

рдЖрдкрдХреЛ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдзрдХреНрдХрд╛ рджреЗрдВ(). рдпрджрд┐ рдЖрдкрдХреЛ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рддреЛ рдЖрдк рд╕реАрдзрд╛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЖрдк рдЗрд╕реЗ рдХрд╣рд╛рдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ:

рдореЗрд░рд╛ (@AoA, $i, $line);
$i рдХреЗ рд▓рд┐рдП (0..10) {
$рд▓рд╛рдЗрди = <>;
$AoA[$i] = [рд╡рд┐рднрд╛рдЬрд┐рдд " ", $рд▓рд╛рдЗрди ];
}

рдпрд╛ рдмрд╕ рднреА

рдореЗрд░рд╛ (@AoA, $i);
$i рдХреЗ рд▓рд┐рдП (0..10) {
$AoA[$i] = [рд╡рд┐рднрд╛рдЬрди " ", <> ];
}

рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕реВрдЪрд┐рдпрд╛рдБ рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдРрд╕рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдП рдмрд┐рдирд╛ рдЕрджрд┐рд╢ рд╕рдВрджрд░реНрднред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛
рдкрд╛рдардХ:

рдореЗрд░рд╛ (@AoA, $i);
$i рдХреЗ рд▓рд┐рдП (0..10) {
$AoA[$i] = [рд╡рд┐рднрд╛рдЬрди " ", рдЕрджрд┐рд╢(<>) ];
}

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ $ref_to_AoA рд╡реИрд░рд┐рдПрдмрд▓ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

рдЬрдмрдХрд┐ (<>) {
рдкреБрд╢ @$ref_to_AoA, [рд╡рд┐рднрд╛рдЬрди];
}

рдЕрдм рдЖрдк рдирдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ. рдирдП рдХреЙрд▓рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрджрд┐ рдЖрдк рдмрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдореИрдЯреНрд░рд┐рдХреНрд╕, рд╕рд░рд▓ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ:

$x рдХреЗ рд▓рд┐рдП (1..10) {
$y рдХреЗ рд▓рд┐рдП (1..10) {
$ рдПрдУрдП [$ рдПрдХреНрд╕] [$ рд╡рд╛рдИ] = рдлрдВрдХ ($ рдПрдХреНрд╕, $ рд╡рд╛рдИ);
}
}

$x рдХреЗ рд▓рд┐рдП ( 3, 7, 9 ) {
$AoA[$x][20] += func2($x);
}

рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╡реЗ рддрддреНрд╡ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ: рдпрд╣ рдЦрд╝реБрд╢реА рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛
рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЛ "рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд" рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдЕрдзрд┐рдХ рдордЬрд╝реЗрджрд╛рд░ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

# рдореМрдЬреВрджрд╛ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдирдП рдХреЙрд▓рдо рдЬреЛрдбрд╝реЗрдВ
рдкреБрд╢ @{ $AoA[0] }, "рд╡рд┐рд▓реНрдорд╛", "рдмреЗрдЯреНрдЯреА"; # рд╕реНрдкрд╖реНрдЯ рдбреЗрд░реЗрдлрд╝

рдкрд░реНрд▓ 5.14 рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рдерд╛:

рдкреБрд╢ $AoA[0], "рд╡рд┐рд▓реНрдорд╛", "рдмреЗрдЯреНрдЯреА"; # рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрд░реЗрдлрд╝

рдРрд╕рд╛ рдХреИрд╕реЗ? рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рдордп рдХреА рдмрд╛рдд рд╣реИ, рддрд░реНрдХ рдзрдХреНрдХрд╛ рджреЗрдВ() рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░рдгреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдирд╣реАрдВ
рдмрд╕ рдПрдХ рдХрд╛ рд╕рдВрджрд░реНрднред рдпрд╣ рдЕрдм рд╕рдЪ рдирд╣реАрдВ рд╣реИ. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓рд╛рдЗрди "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрд░реЗрдлрд╝" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ
рдЙрдкрд░реЛрдХреНрдд рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ--рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ--рд╡рд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдбреЗрд░реЗрдлрд╝ рдХрд╣рддрд╛ рд╣реИ рдЙрд╕рдиреЗ рдХрд┐рдпрд╛ред

"рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ" рдореИрдВрдиреЗ рдЬреЛ рдХрд╣рд╛ рдЙрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХреЗрд╡рд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ $AoA[0] рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рдПрдХ рд╕рд░рдгреА рд╕рдВрджрд░реНрдн рд░рдЦрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪрд░ рдкрд░ рдЖрдЬрд╝рдорд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рд▓реЗрдВрдЧреЗ
рдЕрдкрд╡рд╛рджред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреАрд░реЗрдлрд╝рд░реЗрдВрд╕ рдХрднреА рднреА рдХрд┐рд╕реА рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛ рд╕реНрд╡рдд: рдЬреАрд╡рдВрдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛
рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рддрд░реАрдХрд╛ "@{ }" рд╣рдореЗрд╢рд╛ рд░рд╣реЗрдЧрд╛:

рдореЗрд░рд╛ $aref = undef;
рдкреБрд╢ $aref, qw(рдХреБрдЫ рдФрд░ рдорд╛рди); # рдЧрд▓рдд!
рдкреБрд╢ @$aref, qw(рдХреБрдЫ рдФрд░); # рдареАрдХ рд╣реИ

рдпрджрд┐ рдЖрдк рдЗрд╕ рдирдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреАрд░реЗрдлрд╝рд░реЗрдВрд╕рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рддреБрд░рдВрдд рдЖрдЧреЗ рдмрдврд╝реЗрдВ:
рдпрд╣ рдЖрдВрдЦ рдФрд░ рдХрд▓рд╛рдИ рдкрд░ рдХреЛрдб рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдмрд╕ рдпрд╣ рд╕рдордЭреЗрдВ рдХрд┐ рдкреБрд░рд╛рдиреА рд░рд┐рд▓реАрдЬрд╝реЗрдВ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреА
рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдЙрд╕ рдкрд░. рдЬрдм рднреА рдЖрдк рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рдореЗрдВ рд╣реА рдХрд╛рдо рдХрд░рддреА рд╣реИ
рдкрд░реНрд▓ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдмрд╛рдж рдореЗрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рдореБрдЦ рд╕реНрдерд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

v5.14 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; # рд╕рд░рдгреА рдСрдкреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рд░рдгреА рд░реЗрдлрд░реА рдХреЗ рдирд┐рд╣рд┐рдд рдбреАрд░реЗрдлрд╝ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ

рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрджреЗрд╢ рдЬрд┐рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдЬрдм рдХреЛрдИ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ
рдХрд┐рд╕реА рдкреБрд░рд╛рдиреЗ рдкрд░реНрд▓ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдирдпрд╛ рдХреЛрдб, рдЬреИрд╕реА рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп

рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП arg 1 рдХрд╛ рдкреНрд░рдХрд╛рд░ /tmp/a рд▓рд╛рдЗрди 8 рдкрд░, ""betty";" рдХреЗ рдкрд╛рд╕, рдРрд░реЗ (рдПрд░реЗ рдПрд▓рд┐рдореЗрдВрдЯ рдирд╣реАрдВ) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг /tmp/a рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдирд┐рд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред

рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдирдореНрд░рддрд╛рдкреВрд░реНрд╡рдХ рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреА рдЬрд╛рдПрдЧреА

рдкрд░реНрд▓ v5.14.0 рдЖрд╡рд╢реНрдпрдХ--рдпрд╣ рдХреЗрд╡рд▓ v5.12.3 рд╣реИ, /tmp/a рдкрдВрдХреНрддрд┐ 1 рдкрд░ рд░реБрдХрд╛ рд╣реБрдЖ рд╣реИред
BEGIN рд╡рд┐рдлрд▓--рд╕рдВрдХрд▓рди /tmp/a рдкрдВрдХреНрддрд┐ 1 рдкрд░ рдирд┐рд░рд╕реНрдд рд╣реБрдЖред

рдкрд╣реБрдБрдЪ рдФрд░ рдореБрджреНрд░рдг
рдЕрдм рдЖрдкрдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЙрд╕реЗ рдХреИрд╕реЗ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рддреЛ рдЕрдЧрд░
рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдорд╛рдореВрд▓реА рдмрд╛рдд рд╣реИ:

$AoA[0][0] рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ;

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдкреВрд░реА рдЪреАрдЬрд╝ рдореБрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ

@AoA рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ; # рдЧрд▓рдд

рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрдн рд╕реВрдЪреАрдмрджреНрдз рдорд┐рд▓реЗрдВрдЧреЗ, рдФрд░ рдкрд░реНрд▓ рдХрднреА рднреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрджрд░реНрдн рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛
рдЖрдкрдХреЗ рд▓рд┐рдП рдЪреАрдЬреЗрдВ. рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдЦреБрдж рдХреЛ рдПрдХ рдпрд╛ рджреЛ рд▓реВрдк рд░реЛрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ
рд╢реИрд▓-рд╢реИрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП() рдХреЗ рдмрд╛рд╣рд░реА рд╕реЗрдЯ рдкрд░ рд▓реВрдк рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрдЯред

$aref (@AoA) рдХреЗ рд▓рд┐рдП {
рдХрд╣реЗрдВ "\t [@$aref ],";
}

рдпрджрд┐ рдЖрдк рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$i рдХреЗ рд▓рд┐рдП ( 0 .. $#AoA ) {
рдХрд╣реЗрдВ "\t elt $i is [@{$AoA[$i]} ],";
}

рдпрд╛ рд╢рд╛рдпрдж рдпреЗ рднреА. рдЖрдВрддрд░рд┐рдХ рд▓реВрдк рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ.

$i рдХреЗ рд▓рд┐рдП ( 0 .. $#AoA ) {
$j рдХреЗ рд▓рд┐рдП ( 0 .. $#{$AoA[$i]} ) {
рдХрд╣реЗрдВ "elt $i $j is $AoA[$i][$j]";
}
}

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЗрд╕реАрд▓рд┐рдП рдХрднреА-рдХрднреА рдЗрд╕реЗ рд▓реЗрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ
рдЖрдкрдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА:

$i рдХреЗ рд▓рд┐рдП ( 0 .. $#AoA ) {
$aref = $AoA[$i];
$j рдХреЗ рд▓рд┐рдП ( 0 .. $#{$aref} ) {
рдХрд╣реЗрдВ "elt $i $j is $AoA[$i][$j]";
}
}

рд╣рдореНрдо... рдпрд╣ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рдмрджрд╕реВрд░рдд рд╣реИред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИ:

$i рдХреЗ рд▓рд┐рдП ( 0 .. $#AoA ) {
$aref = $AoA[$i];
$n = @$aref - 1;
$j рдХреЗ рд▓рд┐рдП ( 0 .. $n ) {
рдХрд╣реЗрдВ "elt $i $j is $AoA[$i][$j]";
}
}

рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдкреНрд░рд┐рдВрдЯ рд▓рд┐рдЦрддреЗ-рд▓рд┐рдЦрддреЗ рдердХ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдорд╛рдирдХ рдбрдВрдкрд╡реИрд▓реНрдпреВ рдпрд╛ рдбреЗрдЯрд╛::рдбрдореНрдкрд░ рдореЙрдбреНрдпреВрд▓ред рдкреВрд░реНрд╡ рд╡рд╣реА рд╣реИ рдЬреЛ рдкрд░реНрд▓ рдбрд┐рдмрдЧрд░ рд╣реИ
рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкрд░реНрд▓ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

v5.14 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; # + рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, v5.14 рдкрд░ рдирдпрд╛

рдЙрдк рд╢реЛ(+) {
рдбрдВрдкрд╡реИрд▓реНрдпреВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
рд░рд╛рдЬреНрдп $рд╕реБрдВрджрд░рддрд╛ = рдирдпрд╛ рдбрдВрдкрд╡реИрд▓реНрдпреВ::
рдЯрд┐рдХ => q("),
рдХреЙрдореНрдкреИрдХреНрдЯрдбрдВрдк => 1, # рдЗрди рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
VeryCompact => 1, # рдпрджрд┐ рдЖрдк рдмрдбрд╝рд╛ рдбрдВрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ
;
рдбрдВрдкрд╡реИрд▓реНрдпреВ $рдЦреВрдмрд╕реВрд░рддреА@_;
}

# рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА рд╕рдВрджрд░реНрднреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдореЗрд░рд╛ @AoA = (
["рдлрд╝реНрд░реЗрдб", "рдмрд╛рд░реНрдиреА" ],
["рдЬреЙрд░реНрдЬ", "рдЬреЗрди", "рдПрд▓рд░реЙрдп" ],
["рд╣реЛрдорд░", "рдорд╛рд░реНрдЬ", "рдмрд╛рд░реНрдЯ" ],
);
рдкреБрд╢ $AoA[0], "рд╡рд┐рд▓реНрдорд╛", "рдмреЗрдЯреНрдЯреА";
@AoA рджрд┐рдЦрд╛рдПрдБ;

рдкреНрд░рд┐рдВрдЯ рдЖрдЙрдЯ рд▓реЗрдВрдЧреЗ:

0 0..3 "рдлреНрд░реЗрдб" "рдмрд╛рд░реНрдиреА" "рд╡рд┐рд▓реНрдорд╛" "рдмреЗрдЯреА"
1 0..2 "рдЬреЙрд░реНрдЬ" "рдЬреЗрди" "рдПрд▓рд░реЙрдп"
2 0..2 "рд╣реЛрдорд░" "рдорд╛рд░реНрдЬ" "рдмрд╛рд░реНрдЯ"

рдЬрдмрдХрд┐ рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд╣реА рдЧрдИ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕ рддрд░рд╣:

0 ARRAY(0x8031d0)
0 "рдлреНрд░реЗрдб"
1 "рдмрд╛рд░реНрдиреА"
2 "рд╡рд┐рд▓реНрдорд╛"
3 "рдмреЗрдЯреА"
1 ARRAY(0x803d40)
0 "рдЬреЙрд░реНрдЬ"
1 "рдЬреЗрди"
2 "рдПрд▓рд░реЙрдп"
2 ARRAY(0x803e10)
0 "рд╣реЛрдорд░"
1 "рдорд╛рд░реНрдЬ"
2 "рдмрд╛рд░реНрдЯ"

рд╕реНрд▓рд╛рдЗрд╕
рдпрджрд┐ рдЖрдк рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгреА рдореЗрдВ рдПрдХ рд╕реНрд▓рд╛рдЗрд╕ (рдкрдВрдХреНрддрд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛) рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
рдХреБрдЫ рдлреИрдВрд╕реА рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХрд░рдиреА рд╣реЛрдЧреА. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд╢рдмреНрдж рд╣реИ
рдбреАрд░реЗрдлрд╝рд░реЗрдВрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рддреАрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХрд▓ рддрддреНрд╡, рдРрд╕реА рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ
рд╕реНрд▓рд╛рдЗрд╕ред

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ @AoA рд╡реЗрд░рд┐рдПрдмрд▓ рдорд╛рдиреЗрдВрдЧреЗред

@рднрд╛рдЧ = ();
$ x = 4;
($y = 7; $y < 13; $y++) рдХреЗ рд▓рд┐рдП {
рдкреБрд╢ @рдкрд╛рд░реНрдЯ, $AoA[$x][$y];
}

рдЙрд╕реА рд▓реВрдк рдХреЛ рд╕реНрд▓рд╛рдЗрд╕ рдСрдкрд░реЗрд╢рди рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

@рднрд╛рдЧ = @{$AoA[4]}[7..12];

рдпрд╛ рдереЛрдбрд╝реА рджреВрд░реА рдкрд░:

@рднрд╛рдЧ = @{ $AoA[4] } [7..12 ];

рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рднрд▓реА-рднрд╛рдВрддрд┐ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЖрд╣, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рджреЛ рдЖрдпрд╛рдореА рдЯреБрдХрдбрд╝рд╛, рдЬреИрд╕реЗ $x рдХреЛ 4..8 рдФрд░ $y рд╕реЗ рдЪрд▓рд╛рдирд╛
7 рд╕реЗ 12 рддрдХ рдЪрд▓рд╛рдПрдБ? рд╣рдореНрдо... рдпрд╣рд╛рдБ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ:

@newAoA = ();
рдХреЗ рд▓рд┐рдП ($startx = $x = 4; $x <= 8; $x++) {
рдХреЗ рд▓рд┐рдП ($starty = $y = 7; $y <= 12; $y++) {
$newAoA[$x - $startx][$y - $starty] = $AoA[$x][$y];
}
}

рд╣рдо рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рд▓реВрдкрд┐рдВрдЧ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХреЗ рд▓рд┐рдП ($x = 4; $x <= 8; $x++) {
рдкреБрд╢ @newAoA, [@{$AoA[$x] } [7..12 ] ];
}

рдпрджрд┐ рдЖрдк рд╢реНрд╡рд╛рд░реНрдЯрдЬрд╝рд┐рдпрди рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдореЗрдВ рд╣реЛрддреЗ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдиреЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рд╣реЛрддрд╛

@newAoA = рдорд╛рдирдЪрд┐рддреНрд░ { [@{ $AoA[$_] } [7..12 ] ] } 4 .. 8;

рдпрджреНрдпрдкрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░рдмрдВрдзрдХ рдиреЗ рдЖрдк рдкрд░ рдиреМрдХрд░реА рдХреА рд╕реБрд░рдХреНрд╖рд╛ (рдпрд╛ рддреЗрдЬреА рд╕реЗ рдЕрд╕реБрд░рдХреНрд╖рд╛) рдХреА рдорд╛рдВрдЧ рдХрд░рдиреЗ рдХрд╛ рдЖрд░реЛрдк рд▓рдЧрд╛рдпрд╛ рд╣реИ
рдЧреВрдврд╝ рдХреЛрдб, рдЗрд╕ рдкрд░ рдмрд╣рд╕ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛ред :-) рдЕрдЧрд░ рдореИрдВ рддреБрдо рд╣реЛрддреЗ, рддреЛ рдореИрдВ рдЙрд╕реЗ рдЗрд╕рдореЗрдВ рдбрд╛рд▓ рджреЗрддрд╛
рд╕рдорд╛рд░реЛрд╣:

@newAoA = splice_2D( \@AoA, 4 => 8, 7 => 12 );
рдЙрдк рдмреНрдпрд╛рд╣_2рдбреА {
рдореЗрд░рд╛ $lrr = рд╢рд┐рдлреНрдЯ; # рд╕рд░рдгреА рд░реЗрдлрд░реА рдХреА рд╕рд░рдгреА рдХрд╛ рд╕рдВрджрд░реНрдн!
рдореЗрд░рд╛ ($x_lo, $x_hi,
$y_lo, $y_hi) = @_;

рд╡рд╛рдкрд╕реА рдорд╛рдирдЪрд┐рддреНрд░ {
[@{ $lrr->[$_] } [ $y_lo .. $y_hi ] ]
} $x_lo .. $x_hi;
}

onworks.net рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд▓рд╛рдЗрди perllol рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдлреНрд░реА рд╕рд░реНрд╡рд░ рдФрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд╛рдЗрдиреЗрдХреНрд╕ рдПрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб

Ad