NAME

interface - Declare support for an interface

VERSION

This document describes interface version 0.01

SYNOPSIS

package MyThing;

use interface qw( some::interface );

# later

if ( MyThing->isa( 'some::interface' ) ) {
  print "Yes it is!\n";
}

DESCRIPTION

Allows a package to declare that it ISA named interface without that interface having to pre-exist.

This

package MyThing;

use interface qw( some::interface );

is equivalent to

package some::interface; # make the package exist

package MyThing;

use vars qw( @ISA );
push @ISA, 'some::interface';

The interface declaration is intended to declare that your package conforms to some interface without needing to have the consumer of that interface installed.

There is no test that your package really does conform to any interface (see Moose); you're just declaring your intent.

CONFIGURATION AND ENVIRONMENT

interface requires no configuration files or environment variables.

DEPENDENCIES

None.

INCOMPATIBILITIES

None reported.

BUGS AND LIMITATIONS

Please report any bugs or feature requests to bug-interface@rt.cpan.org, or through the web interface at http://rt.cpan.org.

AUTHOR

Andy Armstrong <andy@hexten.net>

LICENCE AND COPYRIGHT

Copyright (c) 2009, Andy Armstrong <andy@hexten.net>.

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