On Sat, Mar 14, 2009 at 18:04, Chap Harrison <[email protected]> wrote:
> I want to compute a file pathname based on a "template" at runtime, when I
> know the value of a variable that the template uses.
>
> In other words, the template for the path name looks like this...
>
> /foo/bar/$project/here
snip
> I've read perldoc on 'eval', and googled a bit, but no joy.
snip
String eval is bad mojo. What you really need is either a template
module* (if your needs are very complex) or a simple substitution (if
you needs are simple).
#!/usr/bin/perl
use strict;
use warnings;
my $project_path_template = "/foo/bar/{PROJECT}/here";
for my $project (qw/project1 project2 project3/) {
(my $project_path = $project_path_template) =~ s/\{PROJECT\}/$project/;
print "the project path is $project_path\n";
}
* Search CPAN for template modules until you find one with the
features you want, this one looks fairly close to what you want:
http://search.cpan.org/dist/Text-Template/lib/Text/Template.pm
--
Chas. Owens
wonkden.net
The most important skill a programmer can have is the ability to read.
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/