use UPnP::ControlPoint; my $cp = UPnP::ControlPoint->new; my $search = $cp->searchByType("urn:schemas-upnp-org:device:TestDevice:1", \&callback); $cp->handle; sub callback { . . .