Checks if the input profile info matches a sanctioned entity. The arguments are the same as those of get_sanctioned_info.
It returns 1 if a match is found, otherwise 0.
Matches fields possibly available in addition to name and date of birth.
Returns a a hash-ref reporting the matched fields if it succeeeds; otherwise returns false (undef).
Tries to find a match a sanction entry matching the input profile args. It takes arguments in two forms. In the new API, it takes a hashref containing the following named arguments:
first_name: first name
last_name: last name
date_of_birth: (optional) date of birth as a string or epoch
place_of_birth: (optional) place of birth as a country name or code
residence: (optional) name or code of the country of residence
nationality: (optional) name or code of the country of nationality
citizen: (optional) name or code of the country of citizenship
postal_code: (optional) postal/zip code
national_id: (optional) national ID number
passport_no: (oiptonal) passort number
For backward compatibility it also supports the old API, taking the following args:
It returns a hash-ref containg the following data:
Indexes data by name. Each name may have multiple matching entries.
Data::Validate::Sanctions - Validate a name against sanctions lists
# as exported function use Data::Validate::Sanctions qw/is_sanctioned get_sanction_file set_sanction_file/; set_sanction_file('/var/storage/sanction.csv'); my ($first_name, $last_name) = ("First", "Last Name"); print 'BAD' if is_sanctioned($first_name, $last_name); # as OO use Data::Validate::Sanctions; #You can also set sanction_file in the new method. my $validator = Data::Validate::Sanctions->new(sanction_file => '/var/storage/sanction.csv'); print 'BAD' if $validator->is_sanctioned("$last_name $first_name");
Data::Validate::Sanctions is a simple validitor to validate a name against sanctions lists.
The list is from: - https://www.treasury.gov/ofac/downloads/sdn.csv, - https://www.treasury.gov/ofac/downloads/consolidated/cons_prim.csv - https://ofsistorage.blob.core.windows.net/publishlive/ConList.csv - https://webgate.ec.europa.eu/fsd/fsf/public/files/xmlFullSanctionsList_1_1/content?token=$eu_token
run update_sanctions_csv to update the bundled csv.
The path of list can be set by function "set_sanction_file" or by method "new". If not set, then environment variable $ENV{SANCTION_FILE} will be checked, at last the default file in this package will be used.
is_sanctioned($last_name, $first_name); is_sanctioned($first_name, $last_name); is_sanctioned("$last_name $first_name");
when one string is passed, please be sure last_name is before first_name.
or you can pass first_name, last_name (last_name, first_name), we'll check both "$last_name $first_name" and "$first_name $last_name".
retrun 1 if match is found and 0 if match is not found.
It will remove all non-alpha chars and compare with the list we have.
my $result =get_sanctioned_info($last_name, $first_name, $date_of_birth); print 'match: ', $result->{matched_args}->{name}, ' on list ', $result->{list} if $result->{matched};
return hashref with keys: matched 1 or 0, depends if name has matched list name of list matched (present only if matched) matched_args The list of arguments matched (name, date of birth, residence, etc.)
Fetches latest versions of sanction lists, and updates corresponding sections of stored file, if needed
Returns timestamp of when the latest list was updated. If argument is provided - return timestamp of when that list was updated.
Create the object, and set sanction_file
my $validator = Data::Validate::Sanctions->new(sanction_file => '/var/storage/sanction.csv');
get sanction_file which is used by "is_sanctioned" (procedure-oriented)
set sanction_file which is used by "is_sanctioned" (procedure-oriented)
Pass in the client's name and sanctioned individual's name to see if they are similar or not
Exports the sanction lists to a local file in YAML format.
Gets the sanction list content with lazy loading.
Binary.com <fayland@binary.com>
Copyright 2014- Binary.com
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Data::OFAC
To install Data::Validate::Sanctions, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Validate::Sanctions
CPAN shell
perl -MCPAN -e shell install Data::Validate::Sanctions
For more information on module installation, please visit the detailed CPAN module installation guide.