É verdade, o open que você faz no código é de um arquivo de entrada, eu viajei.
Cara, parece que o módulo está zoado no Windows. Você consegue fazer um get_video_url? Se conseguir, talvez seria uma solução usar LWP para baixar o vídeo... 2012/10/29 Aureliano Guedes <[email protected]> > Eduardo, obrigado pela resposta. > > O modulo que faz o download(WWW::YouTube::Download) ja instrue que o > arquivo é binario, esse modulo exclue a necessidade que fazer um 'open OUT, > ...;' pois ele ja contem esse comando, inclusive passando em modo binario: > > 99 open my $wfh, '>', $file or Carp::croak $file, " $!"; > 100 binmode $wfh; > > ------------------------------ > Date: Sun, 28 Oct 2012 23:38:55 -0300 > From: [email protected] > To: [email protected] > Subject: Re: [Rio-pm] Problemas com download > > > 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.ou <http://perldoc.perl.org/functions/binmode.html> > rg/f > <http://perldoc.perl.org/functions/binmode.html>nctions/binmode.html<http://perldoc.perl.org/functions/binmode.html> > > > Perl Forever!!!! > > Um abraço. > > > > 2012/10/28 Aureliano Guedes <[email protected]> > > 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 > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm > > > > _______________________________________________ Rio-pm mailing list > [email protected] http://mail.pm.org/mailman/listinfo/rio-pm > > _______________________________________________ > Rio-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
