It is not about parsing perl. It is about replacing %%VARIABLE_NAME%% with some value in the code while installing the script... | [reply] |
It is not about parsing perl. It is about replacing %%VARIABLE_NAME%% with some value in the code while installing the script...
If that's really all it's about, then why not just use perl -pie 's/%%VARIABLE_NAME%%/value/g' script.pl? Or s/%%(\w+)%%/$vars{$1}/g? (These are not rhetorical questions)
A search and replace that doesn't parse Perl requires that the search pattern only appears in places where it should be replaced and nowhere else, i.e. it limits what Perl syntax can be used. If that's the case, then one can just as well use e.g. Template::Toolkit (or reinvent that wheel).
As soon as one requires the preprocessing to have even the slightest awareness of Perl syntax, then we're talking about parsing Perl. If you don't believe me, give me an example and I'll give you the counterexample that breaks it ;-)
In the situation you've described, config files or env vars are almost certainly the better solution than editing Perl source code.
| [reply] [d/l] [select] |
Yes, this is actually a question about how to do s/%%(\w+)%%/$vars{$1}/g in a right way.
May be my mind is not perl enough, but I consider s/%%(\w+)%%/$vars{$1}/g a hack, and would prefer a module that does s/%%(\w+)%%/$vars{$1}/g.
May be it is a reason, why there is no such module... 'cause everybody thinks s/%%(\w+)%%/$vars{$1}/g is enough. But I would at least expect missing values reporting... May be some functionality with quotes escaping or something for better values substitution...
| [reply] [d/l] [select] |