in reply to Is there a better way to automate file creation?

Well there are plenty of modules for writing ini files. Config::IniFiles for example. I don't think Template Toolkit is too good for throwaway scripts. It'd be good if you had to generate the same sort of files all the time. If this is the only time you ever have to generate those ini files, I see nothing wrong with a bunch of prints or heredoc or whatever.
  • Comment on Re: Is there a better way to automate file creation?

Replies are listed 'Best First'.
Re^2: Is there a better way to automate file creation?
by davidrw (Prior) on Sep 14, 2005 at 13:15 UTC
    AppConfig is another pretty powerful config (including ini) file module..
    I don't think Template Toolkit is too good for throwaway scripts.
    If you have it installed and are fast with it, i think it can be very good to use with __DATA__ (you also get the big bonus over here-docs of easy complicated logic) .. I like doing this for quick & dirty .cgi scripts so everything's in one file.. In this case it could be overkill, but it is pretty clear code:
    use strict; use warnings; use Template; my $template = Template->new(); my @names = qw(file1 file2); my $tpl = do{ local $/ = undef; <DATA> }; for my $name (@names) { $template->process($tpl, { name => $name }, "$name.ini"); } __DATA__ [main] left_hand_side=[% name %].html right_hand_side=[% name %].php file_regex_pattern=\.php$ dir_regex_pattern=(?!^svn$)
    note: for a single template, outputting to stdout (e.g. cgi), you can do $template->process(\*DATA, $data ); but in the loop above the filehandle wouldn't be reset in the loop ..
      There's even Inline::TT. It's just syntactic sugar for the above, except that it does on disk caching of the compiled template. That might save some time if the script is used often and the template is large.

      Phil