/usr/local/CPAN/pfacter/Pfacter/hardwareplatform.pm
package Pfacter::hardwareplatform;
#
sub pfact {
my $self = shift;
my ( $p ) = shift->{'pfact'};
my ( $r );
for ( $p->{'kernel'} ) {
/AIX/ && do {
if ( -e '/usr/sbin/lsattr' ) {
open( F, '/usr/sbin/lsattr -El proc0 |' );
my ( @F ) = <F>;
close( F );
foreach ( @F ) {
if ( /type\s+.*_(\w+)\s/ ) { $r = $1; last; }
}
}
};
/Darwin/ && do {
if ( -e '/usr/bin/machine') { $r = qx( /usr/bin/machine ); }
};
/Linux/ && do {
if ( -e '/bin/uname' ) { $r = qx( /bin/uname -i ); }
};
/SunOS/ && do {
if ( -e '/usr/bin/uname' ) {
$r = qx( /bin/uname -i );
$r = $1 if /^(.+?),.*$/;
}
};
if ( $r ) { return( $r ); }
else { return( 0 ); }
}
}
1;