Business::BR::Ids::Common - Common code used in Business-BR-Ids modules


Business-BR-Ids documentation  | view source Contained in the Business-BR-Ids distribution.

Index


NAME

Top

Business::BR::Ids::Common - Common code used in Business-BR-Ids modules

SYNOPSIS

Top

  use Business::BR::Ids::Common qw(_dot _canon_i _canon_id);
  my @digits = (1, 2, 3, 3);
  my @weights = (2, 5, 2, 6);
  my $dot = _dot(\@weights, \@digits); # computes 2*1+5*2+2*3+6*3 = 36

  # computes the sum of digits of ( 2*1, 5*2, 2*3, 6*3 )
  # which is 2 + (1 + 0) + 6 + (1 + 8) = 18
  my $s = _dot_10(\@weights, \@digits); 

  _canon_i(342222, size => 7); # returns '0342222'
  _canon_i('12.28.8', size => 5); # returns '12288'

  _canon_i(342222, size => 7); # returns '0342222'
  _canon_i('12.28.8', size => 5); # returns '12288'
  _canon_id('A12.3-B', size => 5); # returns 'A123B'

DESCRIPTION

Top

This module is meant to be private for Business-BR-Ids distributions. It is a common placeholder for code which is shared among other modules of the distribution.

Actually, the only code here is the computation of the scalar product between two array refs. In the future, this module can disappear being more aptly named and even leave the Business::BR namespace.

_dot
  $s = _dot(\@a, \@b);

Computes the scalar (or dot) product of two array refs:

   sum( a[i]*b[i], i = 0..$#a )

Note that due to this definition, the second argument should be at least as long as the first argument.

_dot_10
  $s = _dot_10(\@a, \@b);

Computes the product of corresponding elements in the array refs and then takes the sum of its digits. (Used for computing IE/MG.)

_canon_i
  $qs = _canon_i($s, size => 8)

If the argument is a number, formats it to the specified size. Then, strips any non-digit character. If the argument is a string, it just strips non-digit characters.

_canon_id
  $qs = _canon_id($s, size => 8)

If the argument is a number, formats it to the specified size. Then, strips any non-digit character. If the argument is a string, it just strips characters matching /[\W_]/.

EXPORT

None by default.

You can explicitly ask for _dot() which is a sub to compute the dot product between two array refs (used for computing check digits). There are also _dot_10, _canon_i and _canon_id to be exported on demand.

SEE ALSO

Top

Please reports bugs via CPAN RT, http://rt.cpan.org/NoAuth/Bugs.html?Dist=Business-BR-Ids

AUTHOR

Top

A. R. Ferreira, <ferreira@cpan.org>

COPYRIGHT AND LICENSE

Top


Business-BR-Ids documentation  | view source Contained in the Business-BR-Ids distribution.