Pessoal, vamos lá... Vou explicar o que eu preciso fazer: 1) Tenho um arquivo.txt com várias frases (sentenças - uma sentença por linha) de um assunto específico: tratamentos de uma doença); 2) Irei colocar cada frase em uma posição do vetor, e ainda, um valor (pontuação) para esta frase (que no início todas as frases terão valor 0). Mas meu arquivo.txt inicial só tem SOMENTE frases, ex: linha 1: “Esta é minha primeira frase.” Em cada linha deste arquivo.txt (em cada frase) eu não tenho o ‘campo’ (string) pontuação, então eu precisaria criar esta pontuação (este campo) dinamicamente, ou seja, precisaria ter uma posição para guardar posteriormente este valor para cada uma dessas frases (cada frase ‘ganhará’ uma pontuação no item 5); 3) Estas frases passarão por um filtro (FILTRO NUMERO 1) de palavras-chave específicas sobre tratamento da doença; 4) A frase que contiver a palavra chave será minha frase atual, ou seja, a frase que casar com minha expressão regular, será chamada de minha frase atual (para eu saber o ponto de partida para comparar esta frase (atual), com a frase anterior e frase posterior; 5) Analisando minha frase atual (esta que casou com minha expressão regular), procuro nela mesma - frase atual (linhaatual), na frase anterior (linhaatual -1) e na frase posterior (linhaatual +1) qual delas possuem a palavra reservada (FILTRO NUMERO 2) (que são palavras-chave diferentes do item 3) para 'receber' sua respectiva pontuação. Ex: - pontuação das palavras: se a palavra reservada ‘medicação’ conter na frase anterior, esta frase receberá um pontuação 3; se conter na frase posterior, a pontuação para esta mesma palavra reservada será 2; e se conter na frase atual, a pontuação será 4. - quanto mais alto for a pontuação, mais importante é a minha frase (destas 3 frases, uma delas terá uma pontuação maior, que será chamada de minha frase mais importante); Resumindo item 5: A frase atual, anterior e posterior receberão cada uma delas uma pontuação, dependendo se encontrar ou não a palavra reservada (citada acima – item 5). A frase (dentre estas 3 ) que contiver maior pontuação, esta será chamada de frase 'importante'. OBS: Lembrando que poderei processar a mesma sentença várias vezes, em uma comparação, ela pode ter uma pontuaçãoX se for comparada por exemplo como se esta fosse a frase anterior; e se esta frase estiver na posiçãoo de frase posterior ou atual, poderá ter outra pontuaçãoY. Eu não poderei descartar estas frases que contiverem pontuação menor, pois estas ainda poderão ser re-processadas comparando com as próximas frases. 6) Todas as frases 'importantes' terão que ficar em um arquivo separado. Tudo isso que preciso fazer, o Perl ‘dá conta’ ? Obrigada novamente. Juliana --- Em qua, 8/12/10, Blabos de Blebe <[email protected]> escreveu: De: Blabos de Blebe <[email protected]> Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões Para: [email protected] Data: Quarta-feira, 8 de Dezembro de 2010, 14:02 Juliana, o que exatamente você está tentando fazer? 2010/12/8 Renato Santos <[email protected]> > > Juliana, nao entredi quase nada! > > Eu prefiro usar hasH, pois fica mais claro pra ler o código. > > todavia, vou tentar explicar uma gambi q eu faço: > Sempre q vou mudar alguma coisa na próxima linha, uso a ref da linha anterior. > > My $ref; > While ... { > $new = {linha ..., pontos => 0}; > Push(@array, $new); > > $ref->{pontos}++; > $ref = $new; > > }; > > ... > To no almoço, duvidas grita aí > > Em dez 8, 2010 1:00 PM, "Juliana" <[email protected]>escreveu: > > Olá amigos, > > Agradeço a todos pela resposta. > > > Renato, se eu utilizar o push de uma array conforme o código abaixo, da forma > que está eu consigo alterar a pontuação de um frase dinamicamente? Por > exemplo... > > Após eu colocar todas as frases e suas respectivas pontuações (que no início > estarão todas com as pontuações zeradas), farei o seguinte: > > Minha frase (minha linha) que casar com minha expressão regular, irei > chamá-lo de minha linha atual, e irei verificar a linha anterior (linhaatual > -1) e posterior (linhaatual +1) para casar com outra expressão regular, que > dependendo de cada regr, e esta pontuação poderá ser alterada, quando a frase > for comparada com outras 2 frases (anterior e posterior a ela). > > Dessa forma que está (utilizando hash) eu consigo fazer isso posteriormente? > > Ah! E este arquivo de frases não chega a 1MB. > > Obrigada > > Juliana > > > > --- Em ter, 7/12/10, Renato Santos <[email protected]> escreveu: > > De: Renato Santos <[email protected]> > Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões > Para: [email protected] > Data: Terça-feira, 7 de Dezembro de 2010, 6:51 > > > > Amigo, > em perl, seria bem mais interessante você utilizar um HASH (ou > > > como eu sou viciado, HA... > > -----Anexo incorporado----- > > > > _______________________________________________ > SaoPaulo-pm mailing > > > list > [email protected]... > > > _______________________________________________ > SaoPaulo-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/saopaulo-pm > > _______________________________________________ > SaoPaulo-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/saopaulo-pm _______________________________________________ SaoPaulo-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/saopaulo-pm
_______________________________________________ SaoPaulo-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/saopaulo-pm
