Sah::Schema::fiat_or_cryptocurrency - Fiat currency code or cryptocurrency code, name, or safename


This document describes version 0.015 of Sah::Schema::fiat_or_cryptocurrency (from Perl distribution Sah-Schemas-CryptoCurrency), released on 2020-03-08.


Using with Data::Sah:

 use Data::Sah qw(gen_validator);
 my $vdr = gen_validator("fiat_or_cryptocurrency*");
 say $vdr->($data) ? "valid" : "INVALID!";

 # Data::Sah can also create a validator to return error message, coerced value,
 # even validators in other languages like JavaScript, from the same schema.
 # See its documentation for more details.

Using in Rinci function metadata (to be used with Perinci::CmdLine, etc):

 package MyApp;
 our %SPEC;
 $SPEC{myfunc} = {
     v => 1.1,
     summary => 'Routine to do blah ...',
     args => {
         arg1 => {
             summary => 'The blah blah argument',
             schema => ['fiat_or_cryptocurrency*'],
 sub myfunc {
     my %args = @_;


Either: a) a known fiat currency code (e.g. USD, GBP), or b) a known cryptocurrency code or name or safename (e.g. BTC, "Bitcoin Cash", ethereum-classic). Fiat currency code is checked against known codes in Locale::Codes::Currency_Codes. Cryptocurrency code/name/safename is checked against catalog in CryptoCurrency::Catalog. Cryptocurrency name/safename Will be normalized to code in uppercase.


Please visit the project's homepage at


Source repository is at


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


perlancar <>


This software is copyright (c) 2020, 2019, 2018 by

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.