[Madrid-pm] Perl Best Perversions

Bruno brunorc en gmail.com
Vie Mar 16 02:50:03 PDT 2007


Hola

He visto la página de Victor y
http://taquiones.net/perl/pbp/essential/named_arguments.html me ha
dado un impulso.

<quote>

Por contra, utilizar un hash permite hacer un pequeño truco que a mí
particularmente me gusta mucho, y es el asignar valores por defecto
según se reciben los parámetros:
our %defaults = ( cols => 80, filler => ' ', centered => 0 );

sub rellenar {
    my  %args = ( %defaults, @_ );

}

</quote>

Pues, como hacerlo con refs... aqui es la primera idea:

#!/usr/bin/perl

use warnings;
use strict;

my %defaults = (ryba => 'lufa');
my $defref = {ryba => 'lufa'};

sub passhash {
    my %args = (%defaults, @_);
    print $args{ryba}, $/;
}

sub passref {
    my $args = { map { $_ => $_[0]->{$_} || $defref->{$_} }
                    (keys %$defref, keys %{$_[0]}) };
    print $args->{ryba}, $/;
}

passhash(ryba => 'pila');
passhash;

passref({ryba => 'pila'});
passref;

Pero este largo map me fastilia :P

Y tambien podría molestar este psicópato, que sepa, donde vivo :D

Saludos, Bruno


Más información sobre la lista de distribución Madrid-pm