sub getips { my ( $j, $vlan ) = @_; my $name = "ips" . $j; my ($sth, $dbh, %ips, $i, @iparray); my $dbh = DBI->connect('DBI:ODBC:Servers', { RaiseError => 1, AutoCommit => 0 }); my $sth = $dbh->prepare( <<__END_SQL__ ); SELECT IPs.octet1 ,IPs.octet2 ,IPs.octet3 ,IPs.octet4 FROM IPs LEFT OUTER JOIN StaticIPs ON IPs.Octet1 = StaticIPs.octet1 AND IPs.Octet2 = StaticIPs.octet2 AND IPs.Octet3 = StaticIPs.octet3 AND IPs.Octet4 = StaticIPs.octet4 WHERE StaticIPs.octet1 IS NULL AND IPs.VLAN = ? __END_SQL__ $sth->execute( $vlan ); my @ips; $sth->bind_columns( \( $ips[0], $ips[1], $ips[2], $ips[3] ) ); $sth->{'ChopBlanks'} = 1; my @iparray; while ($sth->fetch) { next unless $ips[0]; push @iparray, join '.', @ips; } $sth->finish(); $dbh->disconnect(); print scrolling_list( -class => 'df', -name => $name, -size => 1, -values => [@iparray], -default => $iparray[-1] ); }