#!/usr/bin/perl use 5.010; use strict; use warnings; use YAML; sub foo { my $array = shift; local $array->[0][1] = "bar"; print Dump $array; } my @array = ([1, 2, 3], [4, 5, 6],); foo \@array; print Dump \@array; __END__ --- - - 1 - bar - 3 - - 4 - 5 - 6 --- - - 1 - 2 - 3 - - 4 - 5 - 6