Pregunta

Soy nuevo en Perl y tengo curiosidad si @{$list_ref} y @$list_ref son perfectamente equivalentes.

Se parecen ser intercambiables, pero estoy nervioso que hay algo sutil pasando para que pueda hacer falta.

¿Fue útil?

Solución

Sí, son equivalentes. Es necesario apoyos cuando la expresión es más que una variable escalar simple, por ejemplo. ,

push @{ $foo{$bar} } => "baz";

Para más detalles, ver el Uso de sección de la href = "http://perldoc.perl.org/perlref.html" rel = "nofollow noreferrer"> documentación sobre referencias . La documentación estándar Perl también incluye varios tutoriales sobre el uso de referencias:

Otros consejos

Siempre he encontrado que es útil recordar que los apoyos exteriores no son magia sintáctica, son sólo un bloque que devuelve una referencia. La expresión en el interior del bloque puede ser cualquier cosa que devuelve una referencia:

$ perl -le 'sub foo {[qw/ apple orange banana /]} print ${print "Do something here."; foo()} [1]'
Do something here.
orange
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top