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"; } }