VMS::System - Retrieves status and identification information from OpenVMS system(s).
use VMS::System;
VMS::System will can access either system info for any node in the cluster (what info is available depends on whether you're local to the node being accessed or not), or parameters set by SYSGEN for the local node.
In the cases below where the node name is marked as optional (i.e. in square brackets), leaving it off returns only the information that's valid for the node the process is running on.
Return a list of all the node names in the cluster:
@NodeList = VMS::System::node_list();
Routine to return a reference to a hash with all the system info for the node loaded into it:
$SysInfo = VMS::System::get_all_sys_info_items([nodename]); $archtype = $SysInfo->{ARCH_TYPE};
Fetch a single piece of info:
$archtype = VMS::System::get_one_sys_info_item("ARCH_TYPE"[, nodename]);
Decode a bitmap into a hash filled with names, with their values set to true or false based on the bitmap.
$hashref = VMS::System::decode_sys_info_bitmap("ARCHFLAGS", Bitmap);
Get a list of valid info names:
@InfoNames = VMS::System::sys_info_names([nodename]);
Tied hash interface:
tie %SysInfohash, VMS::System[, nodename]; $diolm = $SysInfohash{ARCH_TYPE};
Object access:
$SysInfoobj = new VMS::System [nodename]; $archtype = $SysInfoobj->one_info("ARCH_TYPE"); $hashref = $SysInfoobj->all_info();
Retrieve info for a node. Access is via function call, object and method, or tied hash. Choose your favorite.
While Most items are scalars, there are a few exceptions. THERMAL_VECTOR, TEMPERATURE_VECTOR, FAN_VECTOR, and POWER_VECTOR are arrays, with each array element corresponding to a particular CPU (for THERMAL_VECTOR and TEMPERATURE_VECTOR), fan, or power supply. TEMPERATURE_VECTOR is an array of CPU temperatures, while the other three are arrays that will contain Good, Bad, Not Present, or Dunno, depending on the status of the fan, power supply, or CPU temperature.
May leak memory. May not, though.
Quadword and hexword values are returned as string values rather than integers.
List info (like rightslists) is not returned.
The decode bitmap function doesn't currently decode anything.
You can't get all system info for all nodes in the cluster, or any system parameters for any non-local node. This is a VMS limitation, though one I hope will be lifted at some point. (If you've got a VMS source listing, send me e-mail and we'll talk)
Dan Sugalski <dan@sidhe.org> Craig A. Berry <craigberry@mac.com>
perl(1), VMS::Process.
To install VMS::System, copy and paste the appropriate command in to your terminal.
cpanm
cpanm VMS::System
CPAN shell
perl -MCPAN -e shell install VMS::System
For more information on module installation, please visit the detailed CPAN module installation guide.