Le mercredi 19 juillet 2006 à 13:59, A. Pagaltzis écrivait:
> * David Landgren <[EMAIL PROTECTED]> [2006-07-19 13:40]:
> > The problem is that these associations are private to the XS
> > and Perl module. The client code does not need to know about
> > them, and in fact shouldn't. So I don't want client code to
> > know the file exists, and people won't go around trying to
> > include it. So the Perl file has to go. 
> 
> Might Pod::Constants help?
> 
>     =begin constants
> 
>         FOO  => 1
>         BAR  => 2
>         QUUX => 3
> 
>     =end constants

In the same vein, and without an external module, you could also simply
expose the information in the documentation, and fetch it from there: (a
trick I discovered thanks to Abigail's additions to Acme::MetaSyntactic,
see the upcoming Acme::MetaSyntactic::tour_de_france for an example):

    my %const = map { s/\s+//; $_ }
        map  { split /\s*=>\s*/ }
        grep {/=>/}
        map  { split /\n/ } << '=cut';
    
    =pod
    
    This module uses the following constants:
    
         bang_eth => 1
         biff     => 2
         krunch   => 3
    
    =cut

-- 
 Philippe "BooK" Bruhat

 There are two sides to every cause. Do not join one until you know the other.
                                   (Moral from Groo The Wanderer #105 (Epic))

Reply via email to