http://www.perlmonks.org?node_id=218559


in reply to Accept array from Form and put in DB

Update
When I put two values into the array (e.g. @quantity = [2,1]), I get four entries into the DB. Two duplicates entries. Please help me understand my mistake. TIA

Replies are listed 'Best First'.
(jeffa) 2Re: Accept array from Form and put in DB
by jeffa (Bishop) on Dec 09, 2002 at 16:20 UTC
    The expression @quantity = [2,1] does not assign two values into the array, it instead assigns an anonymous array reference which contains two values into the array. Did you mean @quantity = (2,1) instead? Here is some more code to play with:
    use strict; use Data::Dumper; my @wrong = [2,1]; my @right = (2,1); my $ref = [2,1]; print 'right: ', Dumper \@right; print 'right: ', Dumper $ref; print 'wrong: ', Dumper \@wrong;
    Update: this is a common pitfall that probably all of us have stumbled on at least once ... i sure have!

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    
      Yes, I did mean to type (2,1). I'm having a colorless day.

      I did enjoy your triplet paradiddle with high-hat. Fortunately being a guitar player, I only have to tap my foot, hold a single note and raise my pick hand in the air. (Hey I was an 80's rocker -> gimme a break).