#!/usr/bin/perl use strict; use warnings; use Text::CSV; defined($ARGV[0]) or die "Please supply a filename as first argument."; my $infile = $ARGV[0]; my $csv = Text::CSV->new(); open (CSV, "<", $infile) or die $!; print "INSERT INTO `host` (`id`, `host_template_id`, `description`, `hostname`, `snmp_community`, `snmp_version`, `snmp_username`, `snmp_password`, `snmp_port`, `snmp_timeout`, `disabled`, `status`, `status_event_count`, `status_fail_date`, `status_rec_date`, `status_last_error`, `min_time`, `max_time`, `cur_time`, `avg_time`, `total_polls`, `failed_polls`, `availability`) VALUES\n"; while () { if ($csv->parse($_)) { my @columns = $csv->fields(); my $description = sprintf("%s--%s", $columns[0], $columns[1]); my $ip = $columns[3]; printf("(NULL, 5, '%s', '%s', 'stlhq1', 2, '', '', 161, 2000, 'on', 3, 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', 0, 0, 0, 0, 0, 0, 100.00000),\n", $description, $ip); } else { my $err = $csv->error_input; print "Failed to parse line: $err"; } } close CSV;