[Madrid-pm] Can't modify push in scalar assignment

Bruno brunorc en gmail.com
Mar Oct 30 05:39:49 PDT 2007


Hola todos

Quería usar el operator "? :" para ésta operación:

defined $args{$k}
    ?    push @{ $args{$k} }, $v
    :    $args{$k} = [ $v ];

pero me sale el error "Can't modify push in scalar assignment".

Lo que es interesante, es que la forma:

if ( defined $args{$k} ) {
    push @{ $args{$k} }, $v;
}
else {
    $args{$k} = [ $v ];
}

funciona bien, tambien la construcción:

defined $args{$k} and push @{ $args{$k} }, $v or $args{$k} = [ $v ];

(sí, es una forma muy rara).

Algunas ideas?

Saludos, Bruno
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/madrid-pm/attachments/20071030/ede9b9c3/attachment.html 


Más información sobre la lista de distribución Madrid-pm