Man pages sections > man3 > Class::MakeMethods::Template::StructBuiltin

Class::MakeMethods::Template::StructBuiltin - generates a wrapper around some

MakeMethods::Template::StructBuiltin(3pm) User Contributed Perl Documentation MakeMethods::Template::StructBuiltin(3pm)

NAME

Class::MakeMethods::Template::StructBuiltin - generates a wrapper around some builtin function

SYNOPSIS

  use Class::MakeMethods::Template::StructBuiltin (
    -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:
  package Stat;
  use Class::MakeMethods::Template::StructBuiltin
    builtin_isa => [ '-{new_function}'=>'stat', qw/ dev ino mode nlink / ],
  package main;
  my $file = "$ENV{HOME}/.template";
  my $s = Stat->new($file);
  print "File $file has ", $s->nlink, " links\n";
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.
2016-06-10 perl v5.22.2