#!/usr/bin/perl
#
# package libnet-ldap-perl must be installed

use strict;
use Net::LDAP;

my $ldap_server = "db.debian.org";
my $ldap_base = "dc=debian,dc=org";

my @package_machine_names = ();


sub get_packages_machines(){
    my $ldap = Net::LDAP->new($ldap_server);
    $ldap->bind();
    my $mesg = $ldap->search(base => $ldap_base, filter => 'host=*');
    $ldap->unbind();

    foreach my $machine ($mesg->entries) {
        my $host = $machine->get_value ("host");
        my $purpose = $machine->get_value ("purpose"); 
        if( index($purpose, "packages.debian.org") >= 0 ){ 
            push(@package_machine_names,  $host)   
        }
    }  
}    

get_packages_machines();

foreach my $name (@package_machine_names){ print $name."\n";}

