Shawn H. Corey wrote:
> Steve Bertrand wrote:
>> I also really like your suggestion of putting the hashes within a sub.
>> This will prevent the reset of ALL the data types each time new tests
>> are run.
>>
> 
> You may want to look at dclone() from Storable.  It clones deeply nested
> structures.

I've used dclone in the past for other tasks, but Uri's suggestion fits
the bill perfectly in this case (and in other cases ;)

I create %typedefs hash, where each key is a name which has a value of a
coderef that simply creates and returns a hash. Then:

my @data_types = $vardb->is_type();
my @missing_types;

for (@data_types) {

    push @missing_types, $_ and next
            if ! exists $typedefs{$_};

    my %type = &{ $typedefs{$_} };

    eval { $sanity->check_type( '$_', \%type, $error ) } ;

    unlike ( $@
             '/Invalid data type/',
             "$_ is a valid and available data type"
            );
}

The problem with all of the great feedback I get on this list, is that I
always want to go back and rewrite the code where I've thought "I know
there's a better way, but this way will work for now" ;)

Cheers,

Steve

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to