Veamos un ejemplo (el hash %ENV contiene las variables de entorno
de la ejecución del programa):
lhp@nereida:~/Lperl/src$ cat -n return.pl
1 #!/usr/bin/perl -w
2 use strict;
3 use List::Util qw(max);
4
5 sub dictionary_order {
6 my @ordered = sort @_;
7 return @ordered;
8 }
9
10 sub maxlength {
11 max map { length } @_;
12 }
13
14 # Formatted print of a hash
15 sub fprinth {
16 my %h = @_;
17
18 my @a = &dictionary_order(keys %h);
19 my $max = maxlength(@a);
20 printf("%-${max}s => %s\n",$_,$h{$_}) for @a;
21 }
22
23 # main
24 fprinth(%ENV);
El formato %-${max}s hace que el argumento se alinee a izquierda
y se expanda con blancos hasta max espacios.
Observe como los argumentos en la llamada se han puesto entre paréntesis. Al ejecutar el programa anterior obtenemos una salida similar a esta:
lhp@nereida:~/Lperl/src$ return.pl CVSROOT => /var/cvs HOME => /home/lhp LANG => es_US.UTF-8 LANGUAGE => es_ES:es:en_GB:en LESSCLOSE => /usr/bin/lesspipe %s %s ....
Casiano Rodríguez León
