<FONT size=2>
<P>Pessoal,</P>
<P>Estou estudando o livro 'Real World SQL Server Administration with Perl' do Linchi Shea - ed. Apress (</FONT><A href="http://webmail.terra.com.br/xwebmail/cgi-bin/www.apress.com"><U><FONT color=#0000ff size=2>www.apress.com</U></FONT></A><FONT size=2>), onde o autor usa e abusa das expressões regulares para monitorar e adminstrar o MS SQL.</P>
<P>Bom, pra mim expressões regulares são pra lá de abstratas em alguns casos, parecendo até mesmo uma outra linguaguem, e dentre estas encontrei uma expressão no livro que eu não entendi nadinha o que ela está fazendo e por isto eu gostaria de pedir ajuda aos monges.</P>
<P>O cara vai ler um arquivo com dados parecidos como "Index Scan(OBJECT:([pubs].[dbo].[jobs].[jobs_ix])" e aí o código faz a manipulação maluca abaixo.</P>
<P>if (m{^[\s | \d | \|]*\|\-\-</P>
<P>( Clustered\s+Index\s+Seek | Clustered\s+Index\s+Scan |</P>
<P>Clustered\s+Index\s+Delete | Clustered\s+Index\s+Update |</P>
<P>Clustered\s+Index\s+Insert | Index\s+Seek | Index\s+Scan |</P>
<P>Index\s+Delete | Index\s+Update | Index\s+Insert | Table\s+Scan</P>
<P>)</P>
<P>\(OBJECT\:\( </P>
<P>( </P>
<P>(\[([^\]] | \]\])+\]) # database name</P>
<P>\.\[([^\]] | \]\])+\] # owner</P>
<P>\.\[([^\]] | \]\])+\] # object</P>
<P>(\.\[([^\]] | \]\])+\])? # index</P>
<P>)</P>
<P>\)</P>
<P>}ix)</P>
<P>A primeira coisa que eu não entendi é o 'm{}ix', que raio é isto ? É um match ? e depois o resto .... também fiquei boiando.</P>
<P>Abraços,</P>
<P>Solli M. Honorio</P></FONT>
<DIV>&nbsp;</DIV>