Moduł Net::hostent
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
Opis
Moduł półpragmowy przesłaniający dwie funkcje podstawowe: gethostbyname i gethostbyaddr. Po zamianie, funkcje te zwracają obiekt Net::hostent (lub undef w przypadku niepowodzenia). Obiekt klasy Net::hostent przypomina strukturę "struct hostent" z biblioteki języka C z pliku netdb.h . Posiada następujące metody dostępu do atrybutów:
- name - zwraca oficjalną nazwę host-a (skalar)
- aliases - zwraca listę adresów zastępczych(referencja do tablicy)
- length - zwraca wielkość adresu(zależy ona od typu adresu)(skalar)
- addrtype - zwraca typ adresu(skalar)
- addr_list - zwraca listę adresów(referencja do tablicy)
Przykład użycia
Poniższy program wypisuje dane o adresie www (IP lub nazwa).#!/usr/bin/perl
use strict;
use warnings;
use Net::hostent;
use Socket;
my $host='univ.gda.pl';
my $obj=gethost($host);
print "oficjalna nazwa: ".$obj->name."\n";
print "typ adresu: ".$obj->addrtype."\n";
print "wielkosc adresu: ".$obj->length."\n";
print "zastepcze nazwy:\n";
print "- $_\n" for @{$obj->aliases};
print "lista adresow: ",join ',',inet_ntoa(@{$obj->addr_list}),"\n";
Druga wersja programu (z wykorzystaniem "h_"):
#!/usr/bin/perl
use strict;
use warnings;
use Net::hostent ':FIELDS';
use Socket;
my $host='univ.gda.pl';
my $obj=gethost($host);
print "oficjalna nazwa: ".$h_name."\n";
print "typ adresu: ".$h_addrtype."\n";
print "wielkosc adresu: ".$h_length."\n";
print "zastepcze nazwy:\n";
print "- $_\n" for @h_aliases;
print "lista adresow: ",join ',',inet_ntoa(@h_addr_list),"\n";
Dodatkowe informacje
Pozostałe informacje znajdują się w dokumentacji modułu, można je wyświetlić wpisując polecenie perldoc Net::hostent lub wejść na stronę www.
Autor opracowania
A.R.