in reply to How do I use a template, csv file and script to generate multiple switch configurations
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How do I use a template, csv file and script to generate multiple switch configurations
by hvh2000 (Initiate) on Apr 15, 2013 at 20:14 UTC | |
by hvh2000 (Initiate) on Apr 15, 2013 at 20:18 UTC | |
by Laurent_R (Canon) on Apr 15, 2013 at 20:45 UTC | |
by hdb (Monsignor) on Apr 15, 2013 at 21:45 UTC | |
by hvh2000 (Initiate) on Apr 15, 2013 at 22:00 UTC |