NAME

MOP4Import::Opts - Object to encapsulate caller() record

SYNOPSIS

# To import the type 'Opts' and m4i api functions.
use MOP4Import::Opts;

# To create an instance of MOP4Import::Opts.
sub import {
  ...
  my Opts $opts = m4i_opts([caller]);
  ...
}

# To extract MOP4Import::Opts safely from pragma args.
sub declare_foo {
  (my $myPack, my Opts $opts, my (@args)) = m4i_args(@_);
  ...
}

DESCRIPTION

This hash object encapsulates caller() info and other parameters for MOP4Import::Declare family.

ATTRIBUTES

callpack

scalar caller() of import in usual case.

destpkg

Where to export. Always defined.

objpkg

What to define. Optional.

basepkg

What to inherit. Optional.

extending

Used in MOP4Import::Types::Extend and MOP4Import::Declare::Type

caller

Original caller() info. This may be empty for faked m4i_opts().

filename
line

FUNCTIONS

m4i_args

This function converts $_[1] by m4i_opts and returns whole @_.

(my $myPack, my Opts $opts, my (@args)) = m4i_args(@_);

m4i_opts

my Opts $opts = m4i_opts([caller]);

my Opts $opts = m4i_opts(scalar caller); # string is ok too.

METHODS

as_string

$opts->as_string;

"$opts"; # Same as above.

AUTHOR

Kobayashi, Hiroaki <hkoba@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.