listdir(@files); # contexto void $listed = listdir(@files); # contexto escalar @missing = listdir(@files); # contexto de lista ($f1, $f2) = listdir(@files); # contexto de lista print (listdir(@files)); # contexto de lista
Esta información puede obtenerse mediante la función wantarray . Esta función devuelve:
undef si no se esperaba valor,
"" si se trata de un escalar,
1 si se trata de una lista.
Podemos utilizar esta información para
seleccionar la información apropiada a
utilizar en la sentencia return.
El siguiente programa
suprime los espacios en blanco al comienzo y al final de
la variable:
1 #!/usr/bin/perl -w
2 my @many = (" one ", " two ", " three ");
3 my $string = "\n\nstring\n\n";
4 print "string = $string\n";
5 print "many = (@many)\n";
6 $string = trim($string);
7 @many = trim(@many);
8 print "string = $string\n";
9 print "many = (@many)\n";
10
11 sub trim {
12 my @out = @_;
13
14 for (@out) {
15 s/^\s+//;
16 s/\s+$//;
17 }
18 return wantarray? @out : $out[0];
19 }
20
Ejemplo de ejecución:
> trim.pl string = string many = ( one two three ) string = string many = (one two three)
