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