NAME
Business::BR::CNJ::NumberExtractor - Extract brazilian CNJ numbers (Conselho Nacional de Justiça) from strings.
SYNOPSIS
use Business::BR::CNJ::NumberExtractor ( qw/ cnj_extract_numbers / );
my @numbers = cnj_extract_numbers(' This is a good number: 0058967-77.2016.8.19.0000, but this is not: 0058967-71.2016.8.99.0000 - wrong verification digits.');
# or...
use Business::BR::CNJ::NumberExtractor;
my @numbers = Business::BR::CNJ::NumberExtractor::cnj_extract_numbers('This is good number: 0058967-77.2016.8.19.0000');
# Or, using LWP::UseAgent and Mojo::DOM (if text/html repsonse)
my @numbers = Business::BR::CNJ::NumberExtractor::cnj_extract_numbers_lwp('https://modeloinicial.com.br/peticao/reclamacao-trabalhista');
# Pass on args to LWP's get method, like cookies or user agent:
my @numbers = Business::BR::CNJ::NumberExtractor::cnj_extract_numbers_lwp('https://modeloinicial.com.br/peticao/11040619/Acao-aposentadoria-invalidez', 'User-Agent', 'That is me.');
my @numbers = Business::BR::CNJ::NumberExtractor::cnj_extract_numbers_lwp('https://modeloinicial.com.br/peticao/11000717/Acao-aposentadoria-Especial', 'Cookie', 'AUTH=123');
# Works even on DOC or PDF files
my @numbers = Business::BR::CNJ::NumberExtractor::cnj_extract_numbers_lwp('http://arquivo.trf1.gov.br/AGText/2011/0001000/00010284120114013819_3.doc');
DESCRIPTION
This module handles CNJ numbers and data.
METHDOS
cnj_extract_numbers
Given a string as input, returns an array with all CNJ numbers present in the text.
References:
http://www.cnj.jus.br/busca-atos-adm?documento=2748
§ 2º O campo (DD), com 2 (dois) dígitos, identifica o dígito verificador, cujo cálculo de verificação deve ser efetuado pela aplicação do algoritmo Módulo 97 Base 10, conforme Norma ISO 7064:2003, nos termos das instruções constantes do Anexo VIII desta Resolução.
Art. 1º Fica instituída a numeração única de processos no âmbito do Poder Judiciário, observada a estrutura NNNNNNN-DD.AAAA.J.TR.OOOO, composta de 6 (seis) campos obrigatórios, nos termos da tabela padronizada constante dos Anexos I a VII desta Resolução.
cnj_extract_numbers_lwp
Same as cnj_extract_numbers, but instead of a string, it expects a URI to be fetched with LWP::UserAgent.
If the response is a text/html, Mojo::DOM is used to extract the visible text. Otherwise, response data won't be parsed and will be processed as is.
To sse it in action, call it on https://modeloinicial.com.br/peticao/reclamacao-trabalhista - it will give you dozens of CNJ numbers, some of them properly formated, and some not, but all valid. This happens because not all courts publishes the process numbers properly formated.
Calling it on https://modeloinicial.com.br/peticao/11078499/Acao-aposentadoria-idade should give you a few numbers, returning an array like:
00405084620174039999 00430097020174039999 50035143820174047110 5003514-38.2017.4.04.7110 05063719420144058102 00116012120084036105 5011707-12.2012.4.04.7112 5008061-10.2010.404.7000
If you call it on a URL with no valid CNJ numbers (like https://modeloinicial.com.br/peticao/11000689/Inventario-Judicial-Novo-CPC or https://modeloinicial.com.br/peticao/11081958/Recurso-multa-transito-Excesso-velocidade), it wont throw an execption, and will only return an empty list.
SEE ALSO
Please check CNJ website at http://www.cnj.jus.br/
AUTHOR
Diego de Lima, <diego_de_lima@hotmail.com>
SPECIAL THANKS
This module was kindly made available by the https://modeloinicial.com.br/ team.
COPYRIGHT AND LICENSE
Copyright (C) 2017 by Diego de Lima
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.
3 POD Errors
The following errors were encountered while parsing the POD:
- Around line 47:
Non-ASCII character seen before =encoding in 'Justiça)'. Assuming UTF-8
- Around line 91:
You forgot a '=back' before '=head2'
- Around line 116:
You forgot a '=back' before '=head1'