Solaris 10 资源管理器开发者指南

用于 libexacct 的 Perl 接口

对象模型

Sun::Solaris::Exacct 模块是由 libexacct(3LIB) 库所提供的所有类的父类。libexacct(3LIB) 提供对以下各种类型的实体的操作:exacct 格式文件、catalog 标记和 exacct 对象。exacct 对象会细分为两种类型。

使用用于 libexacct 的 Perl 接口的优点

扩展记帐的 Perl 扩展可为基础 libexacct(3LIB) API 提供 Perl 接口以及以下增强功能。

Perl 复合型标量 (double-typed scalar)

本文档中介绍的模块广泛使用 Perl 复合型标量功能。使用复合型标量功能可将标量值作为整数或字符串,具体取决于上下文。此行为与 $!Perl 变量 (errno) 表现的行为相同。复合型标量功能无需从整数值映射为对应的字符串即可显示值。以下示例说明了复合型标量的使用。

# Assume $obj is a Sun::Solaris::Item

my $type = $obj->type();



# prints out "2 EO_ITEM"

printf("%d %s\n", $type, $type);



# Behaves as an integer, $i == 2

my $i = 0 + $type;



# Behaves as a string, $s = "abc EO_ITEM xyx"

my $s = "abc $type xyz";