亚马逊怎么做deal网站,纯静态网站怎么做cdn,谷歌浏览器下载官方正版,wordpress外贸推广目前MaxMind对MMDB的读写支持如下 Writer: perl Reader: C C# Java Perl PHP Python 所以本文着重介绍如何快速使用perl生成mmdb文件,以及查询mmdb基本原理 工作环境:Centos 6.5
一、安装perl环境 忽略解压、cd等基础操作 1 .下载perl5 https://www.perl.org/get… 目前MaxMind对MMDB的读写支持如下 Writer: perl Reader: C C# Java Perl PHP Python 所以本文着重介绍如何快速使用perl生成mmdb文件,以及查询mmdb基本原理 工作环境:Centos 6.5
一、安装perl环境 忽略解压、cd等基础操作 1 .下载perl5 https://www.perl.org/get.html#unix_like 我下载的是Source版(需使用新版perl5,centos默认的perl5不支持) wget http://www.cpan.org/src/5.0/perl-5.24.0.tar.gz2 .编译 安装 configure.gnu make make install3 .安装 cpan,git yum install cpan git4 .备份替换系统perl文件 mv /usr/bin/perl /usr/bin/perk.bakln -s /usr/local/bin/perl /usr/bin/perl5.git clone mmdb writer git clone https://github.com/maxmind/MaxMind-DB-Writer-perl.git6.切换至writer目录,下载cpanm并安装模块依赖(所需时间很长) curl -LO http://xrl.us/cpanmperl cpanm –installdeps .7.安装mmdb Writer模块 perl Build.PL./Build install二、生成库文件
编写perl代码,下面为样例,将读local.db文件,生成dt.mmdb文件use MaxMind::DB::Writer::Tree;
use Net::Works::Network;use strict;
use warnings;
use Path::Class;
use autodie;my %types = (product = 'utf8_string',rack = 'utf8_string',administrator = 'utf8_string',room = 'utf8_string',
);my $tree = MaxMind::DB::Writer::Tree-new(ip_version = 4,record_size = 24,database_type = 'kevin_test',languages = [ 'en' ],description = { en = 'Used in MarkDown display' },map_key_type_callback = sub { $types{ $_[0] } },
);sub tree_insert_network{my $network = Net::Works::Network-new_from_string( string = $_[1] );$_[0]-insert_network($network,{product = $_[2],rack = $_[3],administrator = $_[4],room = $_[5]},);
}sub build_tree{my $dir = dir(".");my $file = $dir-file($_[0]);my $content = $file-slurp();my $file_handle = $file-openr();binmode($file_handle, ":utf8");while( my $line = $file_handle-getline() ) {$line =~ s/^\s+|\s+$//g;if ($line eq "") {next;}my @values = split('\|', $line);for (