in reply to Re^2: Repeating Code - there has GOT to be a better way!
in thread Repeating Code - there has GOT to be a better way!

You might try something like:
my %Cmd; { no strict 'vars'; # you have a 'use strict;' line, right? %Cmd = do ("db/$name" . 'Cmd.pm'); }

Replies are listed 'Best First'.
Re^4: Repeating Code - there has GOT to be a better way!
by almut (Canon) on Apr 01, 2010 at 07:01 UTC

    Or even

    #!/usr/bin/perl my %cmds = map { (/(.*)Cmd/) => { do $_ } } <*Cmd.pm>; use Data::Dumper; print Dumper \%cmds;
    $ cat *Cmd.pm ; ./832111.pl %barCmd = ( # barCmd.pm BAR => 99, # ... ); %fooCmd = ( # fooCmd.pm FOO => 42, # ... ); $VAR1 = { 'bar' => { 'BAR' => 99 }, 'foo' => { 'FOO' => 42 } };
Re^4: Repeating Code - there has GOT to be a better way!
by Jenda (Abbot) on Apr 01, 2010 at 06:36 UTC
    %Cmd = do ("db/${name}Cmd.pm");

    Jenda
    Enoch was right!
    Enjoy the last years of Rome.