NAME

AI::MicroStructure::List - Base class for simple lists of names

SYNOPSIS

    package AI::MicroStructure::beatles;
    use AI::MicroStructure::List;
    our @ISA = ( AI::MicroStructure::List );
    __PACKAGE__->init();
    1;

    =head1 NAME
    
    AI::MicroStructure::beatles - The fab four structure
    
    =head1 DESCRIPTION
    
    Ladies and gentlemen, I<The Beatles>. I<(hysteric cries)>

    =cut
    
    __DATA__
    # names
    john paul
    george ringo

DESCRIPTION

AI::MicroStructure::List is the base class for all structures that are meant to return a random excerpt from a predefined list.

METHOD

AI::MicroStructure::List offers several methods, so that the subclasses are easy to write (see full example in SYNOPSIS):

new()

The constructor of a single instance. An instance will not repeat items until the list is exhausted.

init()

init() must be called when the subclass is loaded, so as to read the __DATA__ section and fully initialise it.

name( $count )

Return $count names (default: 1).

Using 0 will return the whole list in list context, and the size of the list in scalar context.

structure()

Return the structure name.

AUTHOR

Philippe 'BooK' Bruhat, <book@cpan.org>

COPYRIGHT

Copyright 2005-2012 Philippe 'BooK' Bruhat, All Rights Reserved.

LICENSE

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