El Prototipo $

Un prototipo de la forma $ lo que hace es que fuerza un contexto escalar. Observe la conducta del siguiente programa:

$ cat -n ./dollarproto.pl
     1  #!/usr/bin/perl -w
     2  use strict;
     3
     4  sub t ($@) { my $a = shift; my @b = @_; print "a = $a, b = (@b)\n"; }
     5
     6  my ($a, $b, $c) = qw/uno dos tres/;
     7  t ':',$a, $b, $c;
     8
     9  my @r = 1..5;
    10  t @r;
    11
$ ./dollarproto.pl
a = :, b = (uno dos tres)
a = 5, b = ()
¿Podrıa explicar la salida?

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19