Revision history for Math::Currency 0.53 2023-07-06 - Fix localize() so that it works correctly for perl 5.37.7 where currency_symbol is empty string 0.52 2017-07-29 - make SEE ALSO pod entries clickable - don't include .travis.yml in the build - make signature test a dzil author test 0.51 2017-02-27 - Add tests for legacy Math::BigInt bcmp() calling syntax - Update test for Ruble character changes in debian - Update dist repo metadata to reflect mschout as maintainer - Update POD to reflect mschout/github as maintainer and authoritative repository - Fix localeconv tests for FreeBSD 11 0.50 2016-07-03 - do not try to run command "locale -a" on Windows - modernize code and clean up a bit - update new_currency script - updated locale definition for de_DE - switch to Dist::Zilla for releases, Module::Build no longer required. - Make $obj->bcmp($val) work like Math::BigFloat says it should [Thanks Daniel] - add en_US/USD locale modules 0.49 2016-06-21 - fix russian currency symbol test comparisons - fix comparison tests for older Test::More - require Test::More 0.94 or later, require version.pm - UTF-8 fixes for localize() - avoid repetitive calls to "locale -a" - skip tests that require en_GB locale if that locale is not present - restore original locale at end of unknown_currency() 0.48 2016-06-16 - fix compatibility with Math::BigInt >= v1.999717 2014-05-05 John Peacock * lib/Math/Currency.pm, lib/Math/Currency/de_DE.pm, lib/Math/Currency/en_GB.pm: Prep for new CPAN release [0351bc56d1da] * MANIFEST: Add missing META file [9070d564c73d] * MANIFEST.SKIP, lib/Math/Currency/de_DE.pm, scripts/new_currency: Fix up new_currency script and gen de_DE [fce0e05d0f67] * MANIFEST: Fix up MANIFEST [7e1b6bd2f564] * MANIFEST, t/002_basic.t: Fix stupid errors [74e0414be33c] 2010-08-25 John Peacock * lib/Math/Currency.pm, lib/Math/Currency/ja_JP.pm, t/002_basic.t, t/003_subclass.t, t/004_localize.t, t/004_localize.t.pl, t/006_defaults.t: Segregate all of the locale tests into their own file. [68bc293c233c] 2010-08-10 John Peacock * Build.PL, MANIFEST, lib/Math/Currency.pm, t/002_basic.t, t/003_subclass.t: Skip en_GB tests if that locale is not installed. Fix all other test failures. [98d03afd7d48] 2009-11-28 convert-repo * .hgtags: update tags [c0848782fbcf] 2008-05-08 jpeacock * MANIFEST, README, lib/Math/Currency.pm, lib/Math/Currency/GBP.pm, lib/Math/Currency/JPY.pm, lib/Math/Currency/en_GB.pm, lib/Math/Currency/ja_JP.pm, scripts/new_currency, t/003_subclass.t, t/004_localize.t: Overhaul the I18N locale support, in the hopes that it won't make me any crazier than it already has, and maybe pass all tests on other platforms. [bae8825fd549] 2008-01-31 jpeacock * lib/Math/Currency.pm, scripts/new_currency: Cope with more than one EUR format at once. Patch from JROBINSON plus some other tweaks by me. [fefc8d817f7e] 2007-09-23 jpeacock * Build.PL, lib/Math/Currency.pm, t/002_basic.t: as_int() could have floating point errors. See: http://rt.cpan.org/Public/Bug/Display.html?id=29210 for details. This code is faster too! Patch by [7b38736783b1] [RELEASE_0.46] 2007-08-07 jpeacock * t/002_basic.t: Actually tests cleanly both with and without en_US [9688d279287b] [RELEASE_0.4502] 2007-08-06 jpeacock * lib/Math/Currency.pm, t/002_basic.t: Deal with problems where en_US isn't installed at all. Reported by David Cantrell [be6d80cc22cd] 2007-08-05 jpeacock * lib/Math/Currency.pm, t/002_basic.t, t/003_subclass.t, t/005_rounding.t, t/006_defaults.t: Stupid locale() tests didn't work for non-US locale [72b6d6380712] [RELEASE_0.4501] 2007-08-04 jpeacock * MANIFEST: Forgot to add new testfile to the MANIFEST [9377aca59a3c] [RELEASE_0.45] * lib/Math/Currency.pm, t/006_defaults.t: Bugfix to correctly handle changing default currency as a class method. New tests for changing default currency as class method. [2abe0573fc75] 2006-01-25 jpeacock * MANIFEST, lib/Math/Currency.pm: Final changes before CPAN release. * MANIFEST Forgot to add new test here. * lib/Math/Currency.pm Test localeconv() early and bail immediately if not supported. Bad markup in POD. [5b5dc94eca04] [RELEASE_0_44] 2006-01-24 jpeacock * README, lib/Math/Currency.pm, lib/Math/Currency/GBP.pm, lib/Math/Currency/JPY.pm, t/002_basic.t, t/003_subclass.t, t/005_rounding.t: Prep for new release to CPAN. * README Note the changes for this release. * lib/Math/Currency.pm Add additional two digits of precision (hidden) to prevent loss of accuracy on multiple math operations. Suggested by Brian Phillips * lib/Math/Currency/JPY.pm lib/Math/Currency/GBP.pm Run code through perltidy to try and make things consistent. * t/002_basic.t New empty subclass test. * t/003_subclass.t Loading class has to happen in BEGIN{} to be valid test. * t/005_rounding.t New tests for extended precision feature. [864b933c865a] 2005-12-16 jpeacock * README, lib/Math/Currency.pm, t/002_basic.t: * lib/Math/Currency.pm Preserve object formatting when making implicit copy, Reported by "Brian Phillips" . Bump $VERSION. * t/002_basic.t Test for above. * README Update this the first time for a change. [4043971c0757] [RELEASE_0_43] 2005-12-07 jpeacock * MANIFEST, Makefile.PL: Must remember to patch Module::Release to handle bare Build.PL. * Makefile.PL MANIFEST Add compatibility Makefile.PL so that `release` will work. [e6cabe710202] [RELEASE_0_42] * README, lib/Math/Currency.pm, t/002_basic.t: Add two object methods suggested by Cory Watson . * README For a change, update this for the new release. ;) * lib/Math/Currency.pm Add obj->as_int and obj->as_float to ease e-commerce and database operations. * t/002_basic.t No new features allowed without corresponding tests! :) [2e09a43d973e] 2005-10-30 jpeacock * Build.PL, README, lib/Math/Currency.pm, lib/Math/Currency/GBP.pm, lib/Math/Currency/JPY.pm, scripts/new_currency, t/002_basic.t, t/003_subclass.t: * lib/Math/Currency.pm Correct handle case when adding formatted string to a M::C object, reported by "Brian Phillips" * scripts/new_currency lib/Math/Currency/GBP.pm lib/Math/Currency/JPY.pm Rewrite to include version of M::C used to generate currency module, add LANG used to create currency module, and regen distributed modules using new script. * t/002_basic.t t/003_subclass.t Rewrite tests to use Yen instead of Euro (since that has been removed from the distribution. * README Add warning about removing M::C::Euro from the distro. * Build.PL Minor formatting change [650e34c010dd] 2005-10-27 jpeacock * MANIFEST, lib/Math/Currency/EUR.pm: * lib/Math/Currency/EUR.pm After looking at all of the possible EURO supported locales, with their wildly differing formats, I've decided to just pull if from the distro completely. [0226d5794a52] 2005-10-26 jpeacock * lib/Math/Currency/EUR.pm: * lib/Math/Currency/EUR.pm There seems to be some vast disagreement about what the correct formatting should be for EURO. This seems to be consistent with most of the locales in SuSE 10.0. YMMV. [af48be1b5750] 2005-02-12 jpeacock * Build.PL, README, lib/Math/Currency.pm, t/002_basic.t: * lib/Math/Currency.pm Improve documentation of subclasses and automatic format generation * t/002_basic.t Correct test output based on correctly defined locale formats * Build.PL Add explicit dependency on Math::BigFloat 1.47 * README Rewrite to emphasize what this release includes [e7d7c89c717b] 2005-02-06 jpeacock * lib/Math/Currency.pm: * lib/Math/Currency.pm Add support for unknown currencies Replace tabs with spaces (for consistency) Document currency format subclasses and custom currencies [9ca2585dfb93] * lib/Math/Currency/EUR.pm, lib/Math/Currency/GBP.pm, lib/Math/Currency/JPY.pm, scripts/new_currency, t/002_basic.t, t/004_localize.t: * lib/Math/Currency/EUR.pm lib/Math/Currency/JPY.pm Correct format rules based on current locale support * lib/Math/Currency/GBP.pm Actually generated with new_currency script * scripts/new_currency generate correct code now produce diagnostic output * t/002_basic.t Don't need warning since skip() works now * t/004_localize.t Test subclass vs. locale-loaded format [d151e0346671] 2005-01-19 jpeacock * lib/Math/Currency.pm, scripts/new_currency: Working new_currency script Updated POD (but not implemented all fallback code yet) [7c2a9438b301] 2005-01-17 jpeacock * lib/Math/Currency.pm: Wrong $VERSION code for new release [e8584c5c6db3] * Changes, META.yml: Generated files don't belong in the repository [499335cb2ba0] * MANIFEST, lib/Math/Currency.pm, lib/Math/Currency/EUR.pm, lib/Math/Currency/GBP.pm, lib/Math/Currency/JPY.pm, scripts/new_currency, t/002_basic.t, t/003_subclass.t, t/004_localize.t: Finish conversion to Module::Build Split out ISO Locale/Currency formats into subclasses Test subclasses (at least a little) Begin work on script to create custom subclasses [1234b626aa71] 2005-01-16 jpeacock * Build.PL, Changes, Currency.pm, LICENSE, MANIFEST, META.yml, Makefile.PL, README, lib/Math/Currency.pm, t/001_load.t, t/002_basic.t, t/test.t: Convert to Module::Build Hardcode the $VERSION Change the new() to handle null $value [79a7837333c9] 2005-01-15 jpeacock * Currency.pm, MANIFEST, META.yml: hard code $VERSION scalar and add META.yml [c1d85c9543c1] [0.38] 2002-11-13 jpeacock * t/test.t: Skip locale tests if no locale support [e8ad544bfee6] * Currency.pm: Enhance initialize() to return success only locale support existing [1c73efe4b5b1] * t/test.t: Forgot to increment the number of tests [13027eb70b2f] * Changes, Currency.pm: Protect the ord() by making sure there is a defined value to use first [69f26c491b47] 2002-08-26 jpeacock * README: Bring current with pm file [1007cf76fefa] * Changes, Currency.pm: - Forgot to fix 5.8.0 tr// error [5fc9c6e0515e] * t/test.t: - New tests for locale global format initialization [f029d87956ba] * Currency.pm: - Add $always_init global parameter and test initialize() in format() - Add POD discussion of quoting input [8eb3e10fd77a] * Changes: - Add $always_init global parameter and test initialize() in format() - Add POD discussion of quoting input [a131cb23a74e] * Currency.pm: - Rename monetary_locale() to initialize() and make module use it itself. - Document in POD [83daaf7061c7] * Currency.pm: - Add monetary_locale to reset global $FORMAT to new POSIX locale - Reformat POD to look a little nicer [369269c0a733] * Currency.pm: - Trailing decimal point for currency without fraction (Jacques Deguest) - Added JPY to preset format [a33cd9060845] 2002-03-06 jpeacock * Changes, Currency.pm: Forgot to enforce precision on objects with only global format Need to have ->new() called from M::BI::objectify use M::BF::new instead [a7393564b838] 2002-02-12 jpeacock * t/test.t: Select sensible defaults for missing locale parameters [d8969463184c] * Changes, Currency.pm, Makefile.PL: Select sensible defaults for missing locale parameters [900a5c010fca] * Changes, Currency.pm, README: Rewrite docs Release to CPAN [10d5b03c5394] 2002-02-11 jpeacock * Currency.pm: complete work on LC_MONETARY formatting [25fcf3f2fc50] 2002-02-05 jpeacock * Changes: Handle parentheses around negative currency Handle less than FRAC_DIGITS decimal places [fe2fb9093af8] * Currency.pm: Handle parentheses around negative currency Handle less than FRAC_DIGITS decimal places [5dec18c74114] 2002-02-01 jpeacock * Currency.pm: format() will now set/get and copy the global FORMAT as needed [dfa174c9957f] * Currency.pm: - make the format() function much more clever [71f153f1540a] * Currency.pm: - Change public interface to use Locale LC_MONETARY codes - Produce actual documentation for a change [269082a18621] 2002-01-30 jpeacock * README: Adjust tests to handle non-US locale [3109906a0741] * Changes: Adjust tests to handle non-US locale [bffa1b602525] * New version (corrected tests) [0ea0ed812142] * t/test.t: Moved to t/test.t so harness is used, hiding the diagnostic output [99b2f763c2b2] * test.pl: Move to t/test.t so harness is used, hiding the diagnostic output [06f4b355ff2b] * MANIFEST, test.pl: Update tests to correctly succeed for non US locale settings [cda9567440a0] 2002-01-29 jpeacock * Changes, Currency.pm, Makefile.PL, README, test.pl: Rewrite to use Math::BigFloat >= 1.27 Change version to next major level [261058a04c2e] 2001-09-14 JPeacock * Changes, Currency.pm, MANIFEST, Makefile.PL, README, test.pl: Initial revision [a902ab2f00f2] 2001-09-14 jpeacock * New repository initialized by cvs2svn. [9d68e833e698]