/usr/local/CPAN/pfacter/Pfacter/domain.pm
package Pfacter::domain;
#
sub pfact {
my $self = shift;
my ( $p ) = shift->{'pfact'};
# Check for FQDN hostname first
if ( -e '/bin/hostname' ) {
return( $1 ) if qx( /bin/hostname ) =~ /\w+\.(.+?\.[a-z]{3})$/;
}
my ( $r );
for ( $p->{'kernel'} ) {
/Linux/ && do {
if ( -e '/bin/dnsdomainname' ) {
open( F, '/bin/dnsdomainname |' );
my ( @F ) = <F>;
close( F );
foreach ( @F ) {
if ( /^(.*\.[a-z]{3})$/ ) { $r = $1; last; }
}
}
};
/AIX|Linux/ && do {
if ( -e '/etc/resolv.conf' ) {
open( F, '/etc/resolv.conf' );
my ( @F ) = <F>;
close( F );
foreach ( @F ) {
if ( /domain\s+(.*\.[a-z]{3})/ ) { $r = $1; last; }
}
}
};
/SunOS/ && do {
if ( -e '/bin/domainname' ) {
$r = qx( /bin/domainname );
undef( $r ) unless $r =~ /.*\.[a-z]{3}/;
}
};
if ( $r ) { return( $r ); }
else { return( 0 ); }
}
}
1;