いただきよつべとv19 : logパーサ

mkdir id;
cd id;
perl ../youtubey.pl id.list | tee id/indexid.txt を解析

id vidididididid  *** This video has been removed by the user.
id vidididididid  *** This video has been removed by the user.
id vidididididid  FILE: fugafuga.flv
id vidididididid  *** This video has been removed by the user.
id vidididididid  *** This video has been removed by the user.
local $dir = "*";

select((select(STDOUT), $| = 1)[0]);
select((select(STDERR), $| = 1)[0]);

open X, "ls -1 $dir |";
/^(\d+)\.list/ and do { 
	&chkid($1);
} while(<X>);
close X;

exit;

sub chkid 
{
	local($id) = @_;
	local %t, %file;

	print STDERR $id;

	open LIST, "$id/index$id\.txt";
	while(<LIST>)
	{
		print STDERR "$id/index$id\.txt ($.)  \r";
        /URL:\s*\S+v=([^\s&]*)/ and do{ $vid = $1; };
        /VIDEO:\s*(\S+)\s(\S+)/ and do{ $vid = $1; $t{$vid} = $2; };
        /(FILE:|DONE:|\*+)\s*(.+)$/ and do{ $file{$vid} = "$1 $2" };
	}
	close LIST;

	open LIST, "$id\.list";
	/v=([^\s&]*)/ and do {
		print "$id $1 $t{$1} $file{$1}\n";
	} while(<LIST>);
	close LIST;

	print STDERR "\n";
	return;
}