#!/usr/bin/perl use strict; use Excel::Template::TT; # some TT options my $config = { INTERPOLATE => 1, EVAL_PERL => 1, }; # set variables for replacement my $vars = { host => { cmts => { name => 'name' }, interfaces => [ { bundle => 'bundle1', subBundle => 'subBundle1', secondaries => [ { ipAddress => '198.168.0.1', subnetMask => '255.255.255.0', },],},],}, }; # create object my $template = Excel::Template::TT->new( filename => 'sample.xml', config => $config, VARS => $vars, ); # xml template file created my $xml = $template->{tempfile}; open IN,'<',$xml or die "$!"; print $_ for ; close IN; $template->write_file('sample.xls'); system('excel sample.xls')