#!/usr/bin/perl use strict; use warnings; my (@array, $value); @array = ("foo"); $value = []; push(@array, $value); $array[-1][0] = "bar"; print $array[-1][0], "\n"; @array = ("foo"); $value = []; push @array, "$value"; $array[-1][0] = "bar"; print $array[-1][0], "\n"; __END__ bar Can't use string ("ARRAY(0x818427c)") as an ARRAY ref while "strict refs" in use