<div dir="ltr">Enão, eu não tenho a regex como valor, e sim o valor completo da string. A regex está armazenada no banco de dados: <div><br></div><div><div style="font-size:12.8px">mysql> select * from card_atr where atr RLIKE '3B7F1300008031C0529999640569937083819000';</div><div style="font-size:12.8px">Empty set (0,00 sec)</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">mysql> select * from card_atr where '3B7F1300008031C0529999640569937083819000' rlike atr;</div><div style="font-size:12.8px">+--------+----------------------------------------------------------------------+-------------------------------------------------------+</div><div style="font-size:12.8px">| id_atr | atr                                                                                 | name                                                        |</div><div style="font-size:12.8px">+--------+----------------------------------------------------------------------+-------------------------------------------------------+</div><div style="font-size:12.8px">|     69 | 3B7F1300008031C052[0-9]{4}640569937083819000 | S12-265                                                    |</div><div style="font-size:12.8px">+--------+----------------------------------------------+-----------------------+------------------------------------------------------+</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Seguindo o exemplo do email do Hernan, a saída com DBIC_TRACE ativado foi: </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div style="font-size:12.8px">[devel@develvm bin]$ DBIC_TRACE=1 perl <a href="http://findatr.pl">findatr.pl</a> </div><div style="font-size:12.8px">SELECT me.id_atr, me.atr, <a href="http://me.name">me.name</a>, me.eletric_test, me.code, me.status, me.microsiga1, me.microsiga2, me.observation FROM card_atr me WHERE ( 3B7F1300008031C0529999640569937083819000 RLIKE ? ): 'atr'</div><div style="font-size:12.8px">DBI Exception: DBD::mysql::st execute failed: Unknown column '3B7F1300008031C0529999640569937083819000' in 'where clause' [for Statement "SELECT me.id_atr, me.atr, <a href="http://me.name">me.name</a>, me.eletric_test, me.code, me.status, me.microsiga1, me.microsiga2, me.observation FROM card_atr me WHERE ( 3B7F1300008031C0529999640569937083819000 RLIKE ? )" with ParamValues: 0='atr'] at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Schema.pm line 1081.</div><div style="font-size:12.8px">        DBIx::Class::Schema::throw_exception(SmartCardWebAtr::Schema=HASH(0x2415cf0), "DBI Exception: DBD::mysql::st execute failed: Unknown column "...) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage.pm line 112</div><div style="font-size:12.8px">        DBIx::Class::Storage::throw_exception(DBIx::Class::Storage::DBI::mysql=HASH(0x24164a0), "DBI Exception: DBD::mysql::st execute failed: Unknown column "...) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI.pm line 1466</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::__ANON__("DBD::mysql::st execute failed: Unknown column '3B7F1300008031"..., DBI::st=HASH(0x2a573c0), undef) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI.pm line 1834</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::_dbh_execute(DBIx::Class::Storage::DBI::mysql=HASH(0x24164a0), DBI::db=HASH(0x2a089e0), "SELECT me.id_atr, me.atr, <a href="http://me.name">me.name</a>, me.eletric_test, me.code, "..., ARRAY(0x2a31338), ARRAY(0x265e6c0)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI.pm line 849</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::__ANON__() called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/BlockRunner.pm line 136</div><div style="font-size:12.8px">        DBIx::Class::Storage::BlockRunner::try {...} () called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/Try/Tiny.pm line 76</div><div style="font-size:12.8px">        eval {...} called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/Try/Tiny.pm line 72</div><div style="font-size:12.8px">        Try::Tiny::try(CODE(0x2a3c558), Try::Tiny::Catch=REF(0x28c0020)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/BlockRunner.pm line 140</div><div style="font-size:12.8px">        DBIx::Class::Storage::BlockRunner::__ANON__() called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/Context/Preserve.pm line 32</div><div style="font-size:12.8px">        Context::Preserve::preserve_context(CODE(0x2a097c0), "replace", CODE(0x2a35788)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/BlockRunner.pm line 219</div><div style="font-size:12.8px">        DBIx::Class::Storage::BlockRunner::_run(DBIx::Class::Storage::BlockRunner=HASH(0x2a2d3c0), CODE(0x27bcdf8)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/BlockRunner.pm line 111</div><div style="font-size:12.8px">        DBIx::Class::Storage::BlockRunner::run(DBIx::Class::Storage::BlockRunner=HASH(0x2a2d3c0), CODE(0x27bcdf8)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI.pm line 850</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::dbh_do(undef, undef, "SELECT me.id_atr, me.atr, <a href="http://me.name">me.name</a>, me.eletric_test, me.code, "..., ARRAY(0x2a31338), ARRAY(0x265e6c0)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI.pm line 1815</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::_execute(DBIx::Class::Storage::DBI::mysql=HASH(0x24164a0), "select", ARRAY(0x1a53ea8), ARRAY(0x1ba6f30), HASH(0xb8c038), HASH(0x28e1458)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI.pm line 2376</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::_select(DBIx::Class::Storage::DBI::mysql=HASH(0x24164a0), ARRAY(0x1a53ea8), ARRAY(0x1ba6f30), HASH(0xb8c038), HASH(0x1be6788)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/Storage/DBI/Cursor.pm line 178</div><div style="font-size:12.8px">        DBIx::Class::Storage::DBI::Cursor::all(DBIx::Class::Storage::DBI::Cursor=HASH(0x26d2068)) called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/ResultSet.pm line 1311</div><div style="font-size:12.8px">        DBIx::Class::ResultSet::_construct_results(DBIx::Class::ResultSet=HASH(0x1be6770), "fetch_all") called at /home/devel/perl5/perlbrew/perls/perl-5.14.4/lib/site_perl/5.14.4/DBIx/Class/ResultSet.pm line 1827</div><div style="font-size:12.8px">        DBIx::Class::ResultSet::all(DBIx::Class::ResultSet=HASH(0x1be6770)) called at <a href="http://findatr.pl">findatr.pl</a> line 19</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">Em 30 de setembro de 2015 10:01, Daniel Vinciguerra <span dir="ltr"><<a href="mailto:daniel.vinciguerra@bivee.com.br" target="_blank">daniel.vinciguerra@bivee.com.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>Fala Italo,<br><br></div>Sugiro que vc dê uma habilitada no DBIC_TRACE para ver a saída antes de tudo...<br><br></div>Não consigo simular o seu cenário mas testei com um banco meu e em outro contexto e...<br><br>->search({ email => {-rlike => 'foo@.*'} })->single;<br></div>Query: SELECT <a href="http://me.id" target="_blank">me.id</a>, <a href="http://me.name" target="_blank">me.name</a>, me.email, me.password, me.active, me.change, me.token, me.last_access, me.updated, me.created FROM user me WHERE ( email RLIKE ? ): 'foo@.*'<br><br></div><div>Isso me diz que aparentemente sua query com -rlike esta OK<br></div><div><br></div>Você também pode fazer o seguinte:<br><br>->search({ email => \["RLIKE 'foo@.*'"] })->single;<br></div>Query: SELECT <a href="http://me.id" target="_blank">me.id</a>, <a href="http://me.name" target="_blank">me.name</a>, me.email, me.password, me.active, me.change, me.token, me.last_access, me.updated, me.created FROM user me WHERE ( email RLIKE 'foo@.*' ):<br><br></div><div><div><div><div><div><br></div><div>Abs,<br></div><div><br></div></div></div></div></div></div><div class="gmail_extra"><br clear="all"><div><div><div dir="ltr"><div><span style="font-family:Tahoma;font-size:13px"></span><br><table style="width:100.0%" border="0" cellpadding="0" cellspacing="0" width="100%">
 <tbody><tr>
  <td style="width:25.4%;padding:0cm 0cm 0cm 0cm" width="25%">
  <p><span style="font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif";color:#333333"><img src="https://www.google.com/a/bivee.com.br/images/logo.gif?alpha=1&service=google_default"><br></span><span style="font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif""></span></p>
  </td>
  <td style="width:74.6%;padding:0cm 0cm 0cm 0cm" width="74%">
  <p style="margin-bottom:0cm;margin-bottom:.0001pt;line-height:normal"><b><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:black" lang="EN-US">Daniel
  Vinciguerra</span></b><span style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:black" lang="EN-US"><br>
  Web Solutions Architect and founder at Bivee<br>
  Cel: +55 (47) 9270-6171</span></p>
  </td>
 </tr>
 <tr>
  <td style="width:25.4%;padding:0cm 0cm 0cm 0cm" width="25%"></td><td style="width:74.6%;padding:0cm 0cm 0cm 0cm" width="74%"></td>
 </tr>
 <tr>
  <td colspan="2" style="width:100.0%;padding:0cm 0cm 0cm 0cm" width="100%"><br></td>
 </tr>
 <tr>
  <td colspan="2" style="width:100.0%;background:#f2f2f2;padding:0cm 0cm 0cm 0cm" width="100%">
  <p><b><span style="font-size:7.0pt;line-height:115%;font-family:"Verdana","sans-serif";color:black">ATENÇÃO/ATTENTION:</span></b><span style="font-size:7.0pt;line-height:115%;font-family:"Verdana","sans-serif";color:black"> <br>
  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. </span><span style="font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif""></span></p>
  <p><span style="font-size:7.0pt;line-height:115%;font-family:"Verdana","sans-serif";color:black" lang="EN-US"><br>
  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.</span><span style="font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"" lang="EN-US"></span></p>
  </td>
 </tr>
</tbody></table>



<span style="font-family:Tahoma;font-size:13px"></span></div><div></div><div></div></div></div></div>
<br><div class="gmail_quote"><span class="">2015-09-30 8:38 GMT-03:00 Italo Gonçales <span dir="ltr"><<a href="mailto:italo.goncales@gmail.com" target="_blank">italo.goncales@gmail.com</a>></span>:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Bom dia!<div><br></div><div>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 ).</div><div><br></div><div>Gostaria de saber se há alguma maneira de buscar um valor que corresponda à regex armazenada no banco de dados?</div><div><br></div><div>Testei pelo MySQL e funcionou, mas não consigo fazer o mesmo select no perl.</div><div><br></div><div>Segue busca de exemplo:</div><div><br></div><div>mysql> SELECT * FROM card where '3B45978551FE119864' RLIKE atr;</div><div><div>+----------------------------------+----------------------------------------+</div><div>| atr                                      | name                                       |</div><div>+-----------------------------------+---------------------------------------+</div><div>| 3B[0-9]{4}8551FE119864  | S12-468                                  |</div></div><div><br></div><div>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.</div><div><br></div><div>Tentativas:</div><div>$card_rs->search({ atr => { -like => $atr } })->single;<br></div><div><br></div><div>$card_rs->search({ atr => { -rlike => $atr } })->single;<br></div><div><br></div><div>$card_rs->search({ $atr => { -rlike => atr } })->single;<br></div><div><br></div><div>Gostaria de saber se há alguma outra maneira de fazer essa busca no perl.</div><div><br></div><div>Obrigado!<span><font color="#888888"><br clear="all"><div><br></div>-- <div><div dir="ltr"><div><br></div><div>Att,</div><div><br></div><div>Italo Gonçales</div><div>Perl Developer at Morpho</div><div><a href="tel:%2B55%2012%2098134%200318" value="+5512981340318" target="_blank">+55 12 98134 0318</a></div></div></div>
</font></span></div></div>
<br></div></div><span class="">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" rel="noreferrer" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></span></blockquote></div><br></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" rel="noreferrer" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><br><div><br></div><div>Att,</div><div><br></div><div>Italo Gonçales</div><div>Perl Developer at Morpho</div><div>+55 12 98134 0318</div></div></div>
</div>