in reply to Re^3: AUTHOR default setting in h2xs
in thread AUTHOR default setting in h2xs

Duh! Yes guy, I know I'm going to have to do lots of edits when making modules. I just don't like to make the same damn edit over and over again. I did not know about Config_heavy.pl. Now I do, thanks to Rob.

Replies are listed 'Best First'.
Re^5: AUTHOR default setting in h2xs
by Anonymous Monk on Feb 27, 2018 at 02:05 UTC

    If h2xs is being annoying/stupid, edit h2xs, fix h2xs

    Easy way

    myh2xs.pl use Config; $Config{mydomain} = ''; do '...h2xs';
      Easy way

      Won't work - %Config::Config is readonly.

      You can, however, get around that problem using 'tied'. One way is to create a module, let's call it Config_m.pm:
      package Config_m; use Config; my $tied = tied %Config; $tied->{mydomain} = 'new value'; 1;
      Then load that module into the script:
      use Config_m; use Config; print $Config{mydomain}; # outputs 'new value'
      This is tha approach taken by ExtUtils::FakeConfig.

      Update: Here's a much simpler example, one that doesn't require a separate module:
      use Config; $obj = tied %Config; $obj->{mydomain} = 'new value'; print $Config{mydomain}, "\n"; #outputs 'new value'
      (I knew there was a far more straightforward example than the way I originally presented it, but a series of brainfarts prevented me from finding it.)

      Cheers,
      Rob