[Cascavel-pm] linguagem perl+ms-dos
Igor Sutton Lopes
igor.sutton em gmail.com
Quinta Julho 6 10:07:21 PDT 2006
Fabio,
Aqui esta uma maneira um pouco mais didatica (nao testado):
use strict;
use warnings;
# abre o arquivo e armazena o file handle em $fh. eh melhor utilizar
# uma variavel lexica para armazenar este fh, pois voce pode querer
# passa-lo como argumento em uma funcao sem muitos malabarismos.
open my $fh, "arquivo.txt" or die "Problemas ao abrir arquivo: $!";
# itera o arquivo linha a linha. irah iterar enquanto defined devolver true. eh
# melhor utilizar while ao inves de foreach, pois foreach irah gerar um array
# com o conteudo de todo o arquivo, que pode utilizar muita memoria caso
# o arquivo seja muito grande.
while (defined(my $line = <$fh>)) {
# executa a funcao system(), passando uma lista com argumentos. verifica
# se eh devolvido 0 (caso de sucesso)
if (system("cscript", "c:/windows/system32/prnmgr.vbs", "-ac", "-p",
$line) != 0)
{
# mostra um erro caso o programa nao seja executado corretamente.
warn "Problemas ao executar programa: $!";
}
}
# fecha file handle.
close $fh or warn "Problemas ao fechar arquivo: $!";
Igor.
fabio nery <fcosta_nery em yahoo.com.br> writes:
> Ola Ivo,
>
> E mais ou menos isso, olha o codigo em pascal :
>
> //inicio-codigo
> Begin
>
> Assign(file,NomeAuto);
> Reset(file); //abre o arquivo para leitura;
> While not eof(file) do begin //enquanto nao for o final do arquivo
> Readln(file,linha); //le do arquivo e desce uma linha. O conteúdo lido é
> transferido para a variável linha
>
> //aqui deve chamar o comando do DOS e passar o parametro linha
> //comando a ser passado ; cscript c:\windows\system32\prnmngr.vbs -ac -p
> linha
> End;
> Closefile(f);
> End.
>
> //fim-codigo
>
> Valeu,
>
> Fabio
>
> Ivo Peixinho <ivocarv em cais.rnp.br> escreveu:
>
> Nao sei se e' exatamente o que voce quer, mas:
>
> open(ARQ,"/caminho/do/arquivo");
>
> while() {
>
> system("/caminho/comando/ms-dos $_");
> }
>
> Ou se voce quer armazenar o resultado, voce pode trocar o system por:
>
> @resut=`/caminho/comando/ms-dos $_`;
>
> Ivo.
>
> On Tue, 4 Jul 2006, fabio nery wrote:
>
> > Ola a todos,
> >
> > Gostaria de uma ajuda do grupo com um problema que estou tendo, quero ler um
> arquivo e guardar cada linha lida em uma variavel e depois chamar um comando
> ms-dos e passar esta variavel como parametro para o comando ms-dos, tem como
> fazer isto em perl? Espero sinceramente que possam me ajudar.
> >
> > Obrigado a todos,
> >
> > Fabio
> >
> >
> > ---------------------------------
> > Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
> ----------------------------------------------------------------------------------
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
> Registre seu aparelho agora!
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
Mais detalhes sobre a lista de discussão Cascavel-pm