in reply to Re^3: Whats wrong with this code
in thread Whats wrong with this code

Please see the modified code
use LWP; use URI::Escape; my $url; foreach $_ (@ARGV) { $_ =~ s[^.*[=/]?([\w\-]{11}).*][$1]; my $ua = LWP::UserAgent->new; #$ua->proxy(['http', 'ftp'], 'http://192.16.3.254:8080/'); $c = uri_unescape($t = $ua->get("http://www.youtube.com/get_video_info +?&video_id=$_&el=detailpage&ps=default&eurl=&gl=US&hl=en")->content); $t =~ /&title=([^&]+)&/ ? $t = uri_unescape($1) : ''; $t =~ s[\+|/][ ]g ? $t = quotemeta $t : ''; $c =~ s/.*fmt_url_map=[\d\|]+([^,]+).*/$1/; print $c."\n"; open(FILE, '>Test.mp4'); binmode (FILE); my $resp = $ua->get( $c ) or die; if ( $resp->is_success) { print FILE $resp->content; close(FILE); } else { print "Failed\n"; } }

Replies are listed 'Best First'.
Re^5: Whats wrong with this code
by ww (Archbishop) on Jul 22, 2011 at 16:31 UTC
    You're not fixing problems already identified in responses above, starting with the first, urging you to test your open (and, by implication, your close, too)...
    open(FILE, '>Test.mp4');
    which would be better written as
    open(my $file, '>Test.mp4') or die "Can't open for writing, $FILE", $!;
    and you just might find using strict and warnings helpful