[Rio-pm] Problemas com download

Eduardo Maia maia em eduardomaia.com
Domingo Outubro 28 19:38:55 PDT 2012


Olá, Aureliano, tudo bom?

Não costumo ter tempo de ver emails do grupo, nem de participar dos
encontros. Lamentável.

Mas a ausência de respostas dessa thread, aliado a um eventual whisky
descompromissado na frente do PC, fez eu estar aqui respondendo :)

Desconheço os módulos que você está usando, nunca precisei deles. Mas dei
uma olhada no seu código, e duas coisas chamaram minha atenção:

1. Você disse ter problemas para salvar um arquivo binário em ambiente
Windows.

2. Você passou o seguinte código:
open IN, $ARGV[0] or die $!;
save_vd (vdid($_)) foreach (<IN>);

Sendo que essa save_vd não tem uma instrução binmode. Tá com cara que você
precisa dar um binmode. Vou explicar...

Quando precisamos salvar em disco um arquivo binário dentro de um "not
Windows", a gente escreve o arquivo e pronto. Dentro de um Windows, não
basta escrever o arquivo, tem que colocar uma instrução (após o open)
dizendo que o arquivo é binário. Tipo isso:
open (OUT, ">video.flv");
*binmode(OUT);*
print OUT $bytes;
close(OUT);

Já segue o link para o Perldoc :)
http://perldoc.perl.org/functions/binmode.html

Perl Forever!!!!

Um abraço.



2012/10/28 Aureliano Guedes <guedes_1000 em hotmail.com>

>  Ola Monges,
> Mais uma vez venho incomodar com meus problemas.
>
> Aparentemente o modulo WWW::YouTube::Download<https://metacpan.org/module/WWW::YouTube::Download>não tem nenhum problema, mas quando eu uso em ambiente Windows ele salva o
> arquivo com defeitos, de forma que acaba não sendo lido pelos reprodutores
> de audio e video.
>
> meu codigo -> http://pastebin.com/k7v6rWCr
>
> Ja estou sem ideia de o que fazer. Imagino que isso se deva porque o Perl
> do Windows (como ja havia dito o Stanislaw) subistitui o CR por CRLF, isso
> deveria ser contornado usando binmode no filehandle.
> No caso deste modulo, isso já é feito:
>  99    open my $wfh, '>', $file or Carp::croak $file, " $!";
> 100    binmode $wfh;
>
>
> ref:
> https://metacpan.org/source/XAICRON/WWW-YouTube-Download-0.41/lib/WWW/YouTube/Download.pm
>
>
> Não entendo portanto porque o arquivo vem com problemas.
>
> Sera que se eu abrir o arquivo em modo binario e trocar todos CRLF por CR
> funcionaria?? Se sim como fazer isso??
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20121028/9bc923cd/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm