NAME
Class::MakeMethods::Template::StructBuiltin
SYNOPSIS
-TargetClass
=>
'MyStat'
,
builtin_isa
=> [
'-{new_function}'
=>
'stat'
,
qw/ dev ino mode nlink /
]
);
DESCRIPTION
This class generates a wrapper around some builtin function, storing the results in the object and providing a by-name interface.
Takes a (core) function name, and a arrayref of return position names (we will call it pos_list). Creates:
- new
-
Calls the core func with any given arguments, stores the result in the instance.
- x
-
For each member of pos_list, creates a method of the same name which gets/sets the nth member of the returned list, where n is the position of x in pos_list.
- fields
-
Returns pos_list, in the given order.
- dump
-
Returns a list item name, item value, in order.
Example Usage:
Note that (a) the new method does not check the return value of the function called (in the above example, if $file does not exist, you will silently get an empty object), and (b) if you really want the above example, see the core File::stat module. But you get the idea, I hope.