Fala Italo, Sugiro que vc dê uma habilitada no DBIC_TRACE para ver a saída antes de tudo...
Não consigo simular o seu cenário mas testei com um banco meu e em outro contexto e... ->search({ email => {-rlike => 'foo@.*'} })->single; Query: SELECT me.id, me.name, me.email, me.password, me.active, me.change, me.token, me.last_access, me.updated, me.created FROM user me WHERE ( email RLIKE ? ): 'foo@.*' Isso me diz que aparentemente sua query com -rlike esta OK Você também pode fazer o seguinte: ->search({ email => \["RLIKE 'foo@.*'"] })->single; Query: SELECT me.id, me.name, me.email, me.password, me.active, me.change, me.token, me.last_access, me.updated, me.created FROM user me WHERE ( email RLIKE 'foo@.*' ): Abs, *Daniel Vinciguerra* Web Solutions Architect and founder at Bivee Cel: +55 (47) 9270-6171 *ATENÇÃO/ATTENTION:* Este e-mail contém informações confidenciais e seu conteúdo é dirigido ao uso do indivíduo ou da entidade mencionados acima. Se você recebeu esta mensagem por engano, por favor, notifique o remetente e remova-o imediatamente. This e-mail contains confidential information intended only for the use of the individual or entity named above. If you are not the intended recipient, please notify the sender and delete it immediately. 2015-09-30 8:38 GMT-03:00 Italo Gonçales <italo.gonca...@gmail.com>: > 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 > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > >
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer