gen_tld.pl

来自「著名的标准C++的html解析器」· PL 代码 · 共 34 行

PL
34
字号
#!/usr/bin/perl -wprint "/** Do not modify. This file is automatically generated\n";print "  * using gen_tld.pl and tld.list\n";print "  */\n\n";		my @tld;while(<STDIN>) {	chomp;	if(/^([\w\.]+)\s+/) {		push @tld, uc $1;	}}@tld = sort { length($a) <=> length($b) || $a cmp $b } @tld;@tld = reverse @tld;my $i;print "static const char *tld[] = {\n";for($i = 0; $i < scalar (@tld) - 1; ++$i) { print "\t\".$tld[$i]\",\n"; }print "\t\"." . $tld[scalar(@tld) - 1] . "\"\n";print "};\n";print "static uint tldOffset(const char *domain) {\n";print "	const char *end = domain + strlen(domain);\n";print "	for(unsigned int i = 0; i < " . scalar @tld . "; ++i) {\n";print " 	unsigned int len = strlen(tld[i]);\n";print "		if(strcasecmp(end - len, tld[i]) == 0) {\n";print "			return len;\n";print "		}\n";print "	}\n";print " return 0;";print "}\n";	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?