NAME
Constant::Exporter - define and export constants easily
SYNOPSIS
# define constants in your MyApp::Constants,
package MyApp::Constants;
use strict;
use warnings;
use Constant::Exporter (
EXPORT => {
FB_CLIENT_ID => 12345,
},
EXPORT_OK => {
TITLE_MAX_LENGTH => 128,
},
EXPORT_TAGS => {
user_status => {
USER_STATUS_FB_ASSOCIATED => 1,
USER_STATUS_FB_NOT_ASSOCIATED => 0,
},
},
EXPORT_OK_TAGS => {
fb_api_error => {
ERROR_OAUTH => 190,
ERROR_API_SESSION => 102,
ERROR_API_USER_TOO_MANY_CALLS => 17,
},
fb_payment_error => {
ERROR_PAYMENTS_ASSOCIATION_FAILURE => 1176,
ERROR_PAYMENTS_INSIDE_IOS_APP => 1177,
ERROR_PAYMENTS_NOT_ENABLED_ON_MOBILE => 1178,
},
},
);
1;
# then use it like Exporter's `%EXPORT_TAGS` and `@EXPORT_OK`
package main;
use MyApp::Constants qw( TITLE_MAX_LENGTH :fb_api_error );
sub foo {
my ($title) = @_;
if (length $title > TITLE_MAX_LENGTH) {
...
}
}
sub bar {
my ($response) = @_;
if ($response->{error}{code} == ERROR_OAUTH) {
...
}
}
DESCRIPTION
Constant::Exporter is a module to define and export constants easily.
This module adopts Exporter's full functionality so you can import constants with default constants, tags or only selected constants.
KEYS AND MEANINGS
EXPORT, EXPORT_TAGS
Constant names in EXPORT and EXPORT_TAGS will be exported by default.
EXPORT_OK EXPORT_OK_TAGS
Constant names in EXPORT_OK and EXPORT_OK_TAGS will not be exported by default. You can import these constants by feeding arguments to your constant class.
AUTHOR
punytan <punytan@gmail.com>
COPYRIGHT
Copyright 2013- punytan
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.