$data=~s/2000/2009/g; #### my $new_array_ref; foreach my $vals (@$array_ref) # I'd use "$row" instead of "$vals", but whatever { my ($acc_num,$date,$user1,$user2,$email,$user4,$user5,$user6,$country) = @$vals; # do some edits that make sense... and then: push @$new_array_ref, [$date, $user1, $user2, ... ]; }