At a glance, it looks like you need to replace < with < and > with > to make it work. Ie.
use strict; use warnings; use autodie; $template_file_name="configtemplate.txt"; while(<>) { ($location, $hostname, $ip) = split (/,/); open(TFILE, "< $template_file_name") || die "config template file $ +template_file_name: $!\n"; $ofile_name = $name . ".txt"; open(OFILE, "> $ofile_name") || die "output config file $ofile_name +: $!\n"; while (<TFILE>) { s/##location##/$location/; s/##hostname##/$name/; s/##ip##/$ip/; printf OFILE $_; } }
Some comments:
The line $ofile_name = $name . ".txt"; uses a variable $name which is not defined. Should this be $hostname probably?
In your file with the CSV variables change the first line to # ip,hostname,location and add a line to filter out comment lines starting with # like this:
while(<>) { next if /^#/; ...
I have not run the code as the template file is not present, so there might be glitches in my code.
In reply to Re: How do I use a template, csv file and script to generate multiple switch configurations
by hdb
in thread How do I use a template, csv file and script to generate multiple switch configurations
by hvh2000
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |