NAME Attribute::Boolean - Mark scalars as pure booleans VERSION Version v1.0.2 SYNOPSYS This allows you to flag a variable as a boolean. In numeric context, it will have the value 0 or 1. In string context is will have the falue "false" or "true". In JSON, it will correctly return false or true values. my $bool : Boolean; print $bool; # "false" $bool = (1 + 2 == 3); print $bool; # "true" print $bool ? "yes" : "no"; # "yes" $bool = false; print $bool ? "yes" : "no"; # "no" EXPORT This exports constants true and false. USAGE An attribute can be declared boolean as follows: my $bool : Boolean; or my $bool : Boolean = true; If any perl true value is assigned, the variable is true, if any perl false value assigned, the variable is false. true This returns 1 in numeric context, "true" in string context. false This returns 0 in numeric context, "false" in string context. TO_JSON Provided that allow_blessed is set on the JSON (or JSON::XS) object, the variable will correctly convert to JSON true or false. my $json = new JSON; $json->pretty->convert_blessed; my $bool : Boolean; my %hash = ( value => $bool, me => true, ); print $json->encode(\%hash); # { # "value" : false, # "me" : true # } AUTHOR Cliff Stanford, `' BUGS Please report any bugs or feature requests to `bug-attribute-boolean+ at rt.cpan.org', or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=attribute-boolean+. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. SUPPORT You can find documentation for this module with the perldoc command. perldoc Attribute::Boolean ACKNOWLEDGEMENTS Alan Haggai Alavi `' for his Scalar::Boolean module Scalar::Boolean which was the inspiration for this module. LICENSE AND COPYRIGHT Copyright 2014 Cliff Stanford. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.