NAME
Badger::Constants - defines constants for other Badger modules
SYNOPSIS
use Badger::Constants 'HASH';
if (ref $something eq HASH) {
# rejoice! No need to quote the word 'HASH'
}
DESCRIPTION
This module defines a number of constants used by other Badger
modules. They can be imported into the caller's namespace by naming them as options to the use Badger::Constants
statement:
use Badger::Constants 'HASH';
print HASH; # HASH
Alternatively, one of the tagset identifiers may be specified to import different sets of constants.
use Badger::Constants ':types';
print HASH; # HASH
EXPORTABLE CONSTANTS
CONSTANTS
Set to Badger::Constants
.
SCALAR
The literal word SCALAR
, typically used for testing references.
if (ref $data eq SCALAR) {
...
}
ARRAY
The literal word ARRAY
, typically used for testing references.
if (ref $data eq ARRAY) {
...
}
HASH
The literal word HASH
, typically used for testing references.
if (ref $data eq HASH) {
...
}
CODE
The literal word CODE
, typically used for testing references.
if (ref $data eq CODE) {
...
}
GLOB
The literal word GLOB
, typically used for testing references.
if (ref $data eq GLOB) {
...
}
REGEX
The literal word Regexp
, typically used for testing references.
if (ref $data eq REGEX) {
...
}
FALSE
A false value (0)
TRUE
A true value (1)
OFF
A generic flag used to disable things (0).
ON
A generic flag used to enable things (1).
ALL
The literal string all
.
NONE
The literal string none
.
DEFAULT
The literal string default
.
WARN
The literal string warn
.
LAST
The value -1
, used to index the last item in an array.
$array[LAST];
CRLF
An unambiguous carriage return and newline sequence: \015\012
PKG
An alias for the ::
symbol used to delimiter Perl packages. Typically used to construct symbol references.
use Badger::Constants 'PKG';
use constant EXAMPLE => 'EXAMPLE';
my $var = ${ $pkg.PKG.EXAMPLE }; # same as: ${"${pkg}::EXAMPLE"}
DOT
An alias for a dot .
.
REFS
The literal string refs
. Typically used like so:
no strict REFS;
ONCE
The literal string once
. Typically used like so:
no warnings ONCE;
BLANK
An empty string. How much more blank could this be? And the answer is none. None more blank.
SPACE
A single space character. Not to be confused with the three dimensional fabric of reality that it happens to share a name with.
SLASH
A forward slash as used to separate path segments in URIs and filesystem paths on sane operating systems.
DELIMITER
A regular expression used to split whitespace delimited tokens. Also accepts commas with optional trailing whitespace as a delimiter.
$names = [ split DELIMITER, $names ]
unless ref $names eq ARRAY;
WILDCARD
A regular expression used to match strings containing the *
or ?
wildcard characters.
if ($path =~ WILDCARD) {
# do something...
}
UTF8
The literal string utf8
.
JSON
The literal string json
.
YAML
The literal string yaml
.
LOADED
Contains the literal string BADGER_LOADED
. The Badger::Class module uses it to define the $BADGER_LOADED
variable in any modules that it loads.
EXPORTABLE TAG SETS
The following tag sets and associated constants are defined:
:types
SCALAR HASH ARRAY CODE REGEX
:values
FALSE TRUE OFF ON ALL NONE DEFAULT
:all
All the constants.
AUTHOR
Andy Wardley http://wardley.org/
COPYRIGHT
Copyright (C) 1996-2009 Andy Wardley. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
See Badger::Exporter for more information on exporting variables.