[SP-pm] Encontrar valor em regex armazenada em banco de dados

Italo Gonçales italo.goncales at gmail.com
Wed Sep 30 04:38:08 PDT 2015


Bom dia!

Estou migrando uma aplicação java stand alone para WebService usando
Catalyst e MySQL, quando me deparei com um caso atípico do meu dia a dia. A
antiga base de dado ( em txt ) da aplicação java possui expressões
regulares nas chaves que estou utilizando para a busca ( e que é a única
que eu tenho ).

Gostaria de saber se há alguma maneira de buscar um valor que corresponda à
regex armazenada no banco de dados?

Testei pelo MySQL e funcionou, mas não consigo fazer o mesmo select no perl.

Segue busca de exemplo:

mysql> SELECT * FROM card where '3B45978551FE119864' RLIKE atr;
+----------------------------------+----------------------------------------+
| atr                                      | name
            |
+-----------------------------------+---------------------------------------+
| 3B[0-9]{4}8551FE119864  | S12-468                                  |

Tentei usar o search_like, search com '-rlike' e search com '-like', mas
nada funcionou. Tentei inverter na query do search também, mas não deu
muito certo.

Tentativas:
$card_rs->search({ atr => { -like => $atr } })->single;

$card_rs->search({ atr => { -rlike => $atr } })->single;

$card_rs->search({ $atr => { -rlike => atr } })->single;

Gostaria de saber se há alguma outra maneira de fazer essa busca no perl.

Obrigado!

-- 

Att,

Italo Gonçales
Perl Developer at Morpho
+55 12 98134 0318
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20150930/81fed709/attachment.html>


More information about the SaoPaulo-pm mailing list