home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / perl / tutorial / eg / convex / getsysinfo < prev    next >
Encoding:
Text File  |  1990-07-18  |  541 b   |  18 lines

  1. #!/usr/bin/perl 
  2.  
  3. do 'sizeof.h'        || die "can't do sizeof.h";
  4. do 'syscall.h'        || die "can't do syscall.h";
  5. do 'sys/sysinfo.h'    || die "can't do sys/sysinfo.h";
  6.  
  7. $sysinfo = '.' x &SYSINFO_SIZE;  # pre-extend
  8.  
  9. syscall(&SYS_getsysinfo, &SYSINFO_SIZE, $sysinfo)  
  10.     && die "getsysinfo syscall failed"; # syscalls return -1 on error
  11.  
  12. ( $cpu_id, $cpu_type, $cpu_count, $cpu_flags0, $cpu_flags1 )
  13.     = unpack('SCCLL', $sysinfo);
  14.  
  15. foreach $field ('id','type','count','flags0','flags1') {
  16.     eval "printf \"%-6s is %d\n\", '$field', \$cpu_$field";
  17.