⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 script.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
## Locale::Script - ISO codes for script identification (ISO 15924)## $Id: Script.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $#package Locale::Script;use strict;require 5.002;require Exporter;use Carp;use Locale::Constants;#-----------------------------------------------------------------------#	Public Global Variables#-----------------------------------------------------------------------use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);$VERSION   = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\d+)\.(\d+)/);@ISA       = qw(Exporter);@EXPORT    = qw(code2script script2code                all_script_codes all_script_names		script_code2code		LOCALE_CODE_ALPHA_2 LOCALE_CODE_ALPHA_3 LOCALE_CODE_NUMERIC);#-----------------------------------------------------------------------#	Private Global Variables#-----------------------------------------------------------------------my $CODES     = [];my $COUNTRIES = [];#=======================================================================## code2script ( CODE [, CODESET ] )##=======================================================================sub code2script{    my $code = shift;    my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;    return undef unless defined $code;    #-------------------------------------------------------------------    # Make sure the code is in the right form before we use it    # to look up the corresponding script.    # We have to sprintf because the codes are given as 3-digits,    # with leading 0's. Eg 070 for Egyptian demotic.    #-------------------------------------------------------------------    if ($codeset == LOCALE_CODE_NUMERIC)    {	return undef if ($code =~ /\D/);	$code = sprintf("%.3d", $code);    }    else    {	$code = lc($code);    }    if (exists $CODES->[$codeset]->{$code})    {        return $CODES->[$codeset]->{$code};    }    else    {        #---------------------------------------------------------------        # no such script code!        #---------------------------------------------------------------        return undef;    }}#=======================================================================## script2code ( SCRIPT [, CODESET ] )##=======================================================================sub script2code{    my $script = shift;    my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;    return undef unless defined $script;    $script = lc($script);    if (exists $COUNTRIES->[$codeset]->{$script})    {        return $COUNTRIES->[$codeset]->{$script};    }    else    {        #---------------------------------------------------------------        # no such script!        #---------------------------------------------------------------        return undef;    }}#=======================================================================## script_code2code ( CODE, IN-CODESET, OUT-CODESET )##=======================================================================sub script_code2code{    (@_ == 3) or croak "script_code2code() takes 3 arguments!";    my $code = shift;    my $inset = shift;    my $outset = shift;    my $outcode;    my $script;    return undef if $inset == $outset;    $script = code2script($code, $inset);    return undef if not defined $script;    $outcode = script2code($script, $outset);    return $outcode;}#=======================================================================## all_script_codes()##=======================================================================sub all_script_codes{    my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;    return keys %{ $CODES->[$codeset] };}#=======================================================================## all_script_names()##=======================================================================sub all_script_names{    my $codeset = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;    return values %{ $CODES->[$codeset] };}#=======================================================================## initialisation code - stuff the DATA into the ALPHA2 hash##======================================================================={    my   ($alpha2, $alpha3, $numeric);    my    $script;    local $_;    while (<DATA>)    {        next unless /\S/;        chop;        ($alpha2, $alpha3, $numeric, $script) = split(/:/, $_, 4);        $CODES->[LOCALE_CODE_ALPHA_2]->{$alpha2} = $script;        $COUNTRIES->[LOCALE_CODE_ALPHA_2]->{"\L$script"} = $alpha2;	if ($alpha3)	{            $CODES->[LOCALE_CODE_ALPHA_3]->{$alpha3} = $script;            $COUNTRIES->[LOCALE_CODE_ALPHA_3]->{"\L$script"} = $alpha3;	}	if ($numeric)	{            $CODES->[LOCALE_CODE_NUMERIC]->{$numeric} = $script;            $COUNTRIES->[LOCALE_CODE_NUMERIC]->{"\L$script"} = $numeric;	}    }    close(DATA);}1;__DATA__am:ama:130:Aramaicar:ara:160:Arabicav:ave:151:Avestanbh:bhm:300:Brahmi (Ashoka)bi:bid:372:Buhidbn:ben:325:Bengalibo:bod:330:Tibetanbp:bpm:285:Bopomofobr:brl:570:Braillebt:btk:365:Batakbu:bug:367:Buginese (Makassar)by:bys:550:Blissymbolsca:cam:358:Chamch:chu:221:Old Church Slavonicci:cir:291:Cirthcm:cmn:402:Cypro-Minoanco:cop:205:Copticcp:cpr:403:Cypriote syllabarycy:cyr:220:Cyrillicds:dsr:250:Deserel (Mormon)dv:dvn:315:Devanagari (Nagari)ed:egd:070:Egyptian demoticeg:egy:050:Egyptian hieroglyphseh:egh:060:Egyptian hieraticel:ell:200:Greekeo:eos:210:Etruscan and Oscanet:eth:430:Ethiopicgl:glg:225:Glagoliticgm:gmu:310:Gurmukhigt:gth:206:Gothicgu:guj:320:Gujaratiha:han:500:Han ideographshe:heb:125:Hebrewhg:hgl:420:Hangulhm:hmo:450:Pahawh Hmongho:hoo:371:Hanunoohr:hrg:410:Hiraganahu:hun:176:Old Hungarian runichv:hvn:175:Kok Turki runichy:hye:230:Armenianiv:ivl:610:Indus Valleyja:jap:930:(alias for Han + Hiragana + Katakana)jl:jlg:445:Cherokee syllabaryjw:jwi:360:Javaneseka:kam:241:Georgian (Mxedruli)kh:khn:931:(alias for Hangul + Han)kk:kkn:411:Katakanakm:khm:354:Khmerkn:kan:345:Kannadakr:krn:357:Karenni (Kayah Li)ks:kst:305:Kharoshthikx:kax:240:Georgian (Xucuri)la:lat:217:Latinlf:laf:215:Latin (Fraktur variant)lg:lag:216:Latin (Gaelic variant)lo:lao:356:Laolp:lpc:335:Lepcha (Rong)md:mda:140:Mandaeanme:mer:100:Meroiticmh:may:090:Mayan hieroglyphsml:mlm:347:Malayalammn:mon:145:Mongolianmy:mya:350:Burmesena:naa:400:Linear Anb:nbb:401:Linear Bog:ogm:212:Oghamor:ory:327:Oriyaos:osm:260:Osmanyaph:phx:115:Phoenicianph:pah:150:Pahlavipl:pld:282:Pollard Phoneticpq:pqd:295:Klingon plQaDpr:prm:227:Old Permicps:pst:600:Phaistos Diskrn:rnr:211:Runic (Germanic)rr:rro:620:Rongo-rongosa:sar:110:South Arabiansi:sin:348:Sinhalasj:syj:137:Syriac (Jacobite variant)sl:slb:440:Unified Canadian Aboriginal Syllabicssn:syn:136:Syriac (Nestorian variant)sw:sww:281:Shavian (Shaw)sy:syr:135:Syriac (Estrangelo)ta:tam:346:Tamiltb:tbw:373:Tagbanwate:tel:340:Telugutf:tfn:120:Tifnaghtg:tag:370:Tagalogth:tha:352:Thaitn:tna:170:Thaanatw:twr:290:Tengwarva:vai:470:Vaivs:vsp:280:Visible Speechxa:xas:000:Cuneiform, Sumero-Akkadianxf:xfa:105:Cuneiform, Old Persianxk:xkn:412:(alias for Hiragana + Katakana)xu:xug:106:Cuneiform, Ugariticyi:yii:460:Yizx:zxx:997:Unwritten languagezy:zyy:998:Undetermined scriptzz:zzz:999:Uncoded script

⌨️ 快捷键说明

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