A missing ; and a bit of re-ordering was all to be done. Now it should do the job but a lot of it is implicit and not obvious to the Perl starter. So be careful when expanding on it...
#!/usr/bin/perl use strict; use warnings; use autodie; # usage: perl makeconfig.pl < host-ip.csv my $template_file_name="configtemplate.txt"; while(<>) { next if /^#/; chomp; my ($ip, $hostname, $location) = split (/,/); my $ofile_name=$hostname . ".txt"; open(TFILE, "< $template_file_name") || die "config template f +ile $template_file_name: $!\n"; $ofile_name = $hostname . ".txt"; open(OFILE, "> $ofile_name") || die "output config file $ofile +_name: $!\n"; while (<TFILE>) { s/##location##/$location/; s/##hostname##/$hostname/; s/##ip##/$ip/; printf OFILE $_; } close OFILE; close TFILE; }
In reply to Re^5: 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: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |