#!/usr/bin/perl use strict; use warnings; use DBI; my $db_user = 'DBUSER'; my $db_pass = 'DBPASS'; my $dbh = DBI->connect('DBI:mysql:cacti', $db_user, $db_pass) or die "Couldn't connect to database: " . DBI->errstr; while(<>) { my $ip = $_; chomp $ip; next if $ip eq ""; my $host_id = getHostID($ip); printf("%d\n", $host_id); } sub getHostID { my $ip = shift; my $sth = $dbh->prepare('SELECT id FROM host WHERE hostname = ?') or die "Couldn't prepare statement: " . $dbh->errstr; $sth->execute($ip); my $id = $sth->fetchrow(); return $id; }