Alvis-Convert

 view release on metacpan or  search on metacpan

lib/Alvis/Document/Encoding.pm  view on Meta::CPAN

package Alvis::Document::Encoding;

use warnings;
use strict;

$Alvis::Document::Encoding::VERSION = '0.1';

use HTML::Encoding;
use Encode;
use Encode::Guess;

use Alvis::Document::Type;

#############################################################################
#
#  A collection of routines for checking UTF-8 validity, guessing the
#  encoding of a document etc.
#
#############################################################################

#############################################################################
#
#     Global variables & constants
#
##############################################################################

my $DEBUG=0;

#
# Invalid Utf-8 codes (UTF-16 surrogates and non-valid codes) 
#
my %InvalidUtf8Code=(
 55296=>1,  55297=>1,  55298=>1,  55299=>1,  55300=>1,  55301=>1,  55302=>1, 
 55303=>1,  55304=>1,  55305=>1,  55306=>1,  55307=>1,  55308=>1,  55309=>1, 
 55310=>1,  55311=>1,  55312=>1,  55313=>1,  55314=>1,  55315=>1,  55316=>1, 
 55317=>1,  55318=>1,  55319=>1,  55320=>1,  55321=>1,  55322=>1,  55323=>1, 
 55324=>1,  55325=>1,  55326=>1,  55327=>1,  55328=>1,  55329=>1,  55330=>1, 
 55331=>1,  55332=>1,  55333=>1,  55334=>1,  55335=>1,  55336=>1,  55337=>1, 
 55338=>1,  55339=>1,  55340=>1,  55341=>1,  55342=>1,  55343=>1,  55344=>1, 
 55345=>1,  55346=>1,  55347=>1,  55348=>1,  55349=>1,  55350=>1,  55351=>1, 
 55352=>1,  55353=>1,  55354=>1,  55355=>1,  55356=>1,  55357=>1,  55358=>1, 
 55359=>1,  55360=>1,  55361=>1,  55362=>1,  55363=>1,  55364=>1,  55365=>1, 
 55366=>1,  55367=>1,  55368=>1,  55369=>1,  55370=>1,  55371=>1,  55372=>1, 
 55373=>1,  55374=>1,  55375=>1,  55376=>1,  55377=>1,  55378=>1,  55379=>1, 
 55380=>1,  55381=>1,  55382=>1,  55383=>1,  55384=>1,  55385=>1,  55386=>1, 
 55387=>1,  55388=>1,  55389=>1,  55390=>1,  55391=>1,  55392=>1,  55393=>1, 
 55394=>1,  55395=>1,  55396=>1,  55397=>1,  55398=>1,  55399=>1,  55400=>1, 
 55401=>1,  55402=>1,  55403=>1,  55404=>1,  55405=>1,  55406=>1,  55407=>1, 
 55408=>1,  55409=>1,  55410=>1,  55411=>1,  55412=>1,  55413=>1,  55414=>1, 
 55415=>1,  55416=>1,  55417=>1,  55418=>1,  55419=>1,  55420=>1,  55421=>1, 
 55422=>1,  55423=>1,  55424=>1,  55425=>1,  55426=>1,  55427=>1,  55428=>1, 
 55429=>1,  55430=>1,  55431=>1,  55432=>1,  55433=>1,  55434=>1,  55435=>1, 
 55436=>1,  55437=>1,  55438=>1,  55439=>1,  55440=>1,  55441=>1,  55442=>1, 
 55443=>1,  55444=>1,  55445=>1,  55446=>1,  55447=>1,  55448=>1,  55449=>1, 
 55450=>1,  55451=>1,  55452=>1,  55453=>1,  55454=>1,  55455=>1,  55456=>1, 
 55457=>1,  55458=>1,  55459=>1,  55460=>1,  55461=>1,  55462=>1,  55463=>1, 
 55464=>1,  55465=>1,  55466=>1,  55467=>1,  55468=>1,  55469=>1,  55470=>1, 
 55471=>1,  55472=>1,  55473=>1,  55474=>1,  55475=>1,  55476=>1,  55477=>1, 
 55478=>1,  55479=>1,  55480=>1,  55481=>1,  55482=>1,  55483=>1,  55484=>1, 
 55485=>1,  55486=>1,  55487=>1,  55488=>1,  55489=>1,  55490=>1,  55491=>1, 
 55492=>1,  55493=>1,  55494=>1,  55495=>1,  55496=>1,  55497=>1,  55498=>1, 
 55499=>1,  55500=>1,  55501=>1,  55502=>1,  55503=>1,  55504=>1,  55505=>1, 
 55506=>1,  55507=>1,  55508=>1,  55509=>1,  55510=>1,  55511=>1,  55512=>1, 
 55513=>1,  55514=>1,  55515=>1,  55516=>1,  55517=>1,  55518=>1,  55519=>1, 
 55520=>1,  55521=>1,  55522=>1,  55523=>1,  55524=>1,  55525=>1,  55526=>1, 
 55527=>1,  55528=>1,  55529=>1,  55530=>1,  55531=>1,  55532=>1,  55533=>1, 
 55534=>1,  55535=>1,  55536=>1,  55537=>1,  55538=>1,  55539=>1,  55540=>1, 
 55541=>1,  55542=>1,  55543=>1,  55544=>1,  55545=>1,  55546=>1,  55547=>1, 
 55548=>1,  55549=>1,  55550=>1,  55551=>1,  55552=>1,  55553=>1,  55554=>1, 
 55555=>1,  55556=>1,  55557=>1,  55558=>1,  55559=>1,  55560=>1,  55561=>1, 
 55562=>1,  55563=>1,  55564=>1,  55565=>1,  55566=>1,  55567=>1,  55568=>1, 
 55569=>1,  55570=>1,  55571=>1,  55572=>1,  55573=>1,  55574=>1,  55575=>1, 
 55576=>1,  55577=>1,  55578=>1,  55579=>1,  55580=>1,  55581=>1,  55582=>1, 
 55583=>1,  55584=>1,  55585=>1,  55586=>1,  55587=>1,  55588=>1,  55589=>1, 
 55590=>1,  55591=>1,  55592=>1,  55593=>1,  55594=>1,  55595=>1,  55596=>1, 
 55597=>1,  55598=>1,  55599=>1,  55600=>1,  55601=>1,  55602=>1,  55603=>1, 
 55604=>1,  55605=>1,  55606=>1,  55607=>1,  55608=>1,  55609=>1,  55610=>1, 
 55611=>1,  55612=>1,  55613=>1,  55614=>1,  55615=>1,  55616=>1,  55617=>1, 
 55618=>1,  55619=>1,  55620=>1,  55621=>1,  55622=>1,  55623=>1,  55624=>1, 
 55625=>1,  55626=>1,  55627=>1,  55628=>1,  55629=>1,  55630=>1,  55631=>1, 
 55632=>1,  55633=>1,  55634=>1,  55635=>1,  55636=>1,  55637=>1,  55638=>1, 
 55639=>1,  55640=>1,  55641=>1,  55642=>1,  55643=>1,  55644=>1,  55645=>1, 
 55646=>1,  55647=>1,  55648=>1,  55649=>1,  55650=>1,  55651=>1,  55652=>1, 
 55653=>1,  55654=>1,  55655=>1,  55656=>1,  55657=>1,  55658=>1,  55659=>1, 
 55660=>1,  55661=>1,  55662=>1,  55663=>1,  55664=>1,  55665=>1,  55666=>1, 
 55667=>1,  55668=>1,  55669=>1,  55670=>1,  55671=>1,  55672=>1,  55673=>1, 
 55674=>1,  55675=>1,  55676=>1,  55677=>1,  55678=>1,  55679=>1,  55680=>1, 
 55681=>1,  55682=>1,  55683=>1,  55684=>1,  55685=>1,  55686=>1,  55687=>1, 
 55688=>1,  55689=>1,  55690=>1,  55691=>1,  55692=>1,  55693=>1,  55694=>1, 
 55695=>1,  55696=>1,  55697=>1,  55698=>1,  55699=>1,  55700=>1,  55701=>1, 
 55702=>1,  55703=>1,  55704=>1,  55705=>1,  55706=>1,  55707=>1,  55708=>1, 
 55709=>1,  55710=>1,  55711=>1,  55712=>1,  55713=>1,  55714=>1,  55715=>1, 
 55716=>1,  55717=>1,  55718=>1,  55719=>1,  55720=>1,  55721=>1,  55722=>1, 
 55723=>1,  55724=>1,  55725=>1,  55726=>1,  55727=>1,  55728=>1,  55729=>1, 
 55730=>1,  55731=>1,  55732=>1,  55733=>1,  55734=>1,  55735=>1,  55736=>1, 
 55737=>1,  55738=>1,  55739=>1,  55740=>1,  55741=>1,  55742=>1,  55743=>1, 
 55744=>1,  55745=>1,  55746=>1,  55747=>1,  55748=>1,  55749=>1,  55750=>1, 
 55751=>1,  55752=>1,  55753=>1,  55754=>1,  55755=>1,  55756=>1,  55757=>1, 
 55758=>1,  55759=>1,  55760=>1,  55761=>1,  55762=>1,  55763=>1,  55764=>1, 
 55765=>1,  55766=>1,  55767=>1,  55768=>1,  55769=>1,  55770=>1,  55771=>1, 
 55772=>1,  55773=>1,  55774=>1,  55775=>1,  55776=>1,  55777=>1,  55778=>1, 
 55779=>1,  55780=>1,  55781=>1,  55782=>1,  55783=>1,  55784=>1,  55785=>1, 
 55786=>1,  55787=>1,  55788=>1,  55789=>1,  55790=>1,  55791=>1,  55792=>1, 
 55793=>1,  55794=>1,  55795=>1,  55796=>1,  55797=>1,  55798=>1,  55799=>1, 
 55800=>1,  55801=>1,  55802=>1,  55803=>1,  55804=>1,  55805=>1,  55806=>1, 
 55807=>1,  55808=>1,  55809=>1,  55810=>1,  55811=>1,  55812=>1,  55813=>1, 
 55814=>1,  55815=>1,  55816=>1,  55817=>1,  55818=>1,  55819=>1,  55820=>1, 
 55821=>1,  55822=>1,  55823=>1,  55824=>1,  55825=>1,  55826=>1,  55827=>1, 

lib/Alvis/Document/Encoding.pm  view on Meta::CPAN

 55982=>1,  55983=>1,  55984=>1,  55985=>1,  55986=>1,  55987=>1,  55988=>1, 
 55989=>1,  55990=>1,  55991=>1,  55992=>1,  55993=>1,  55994=>1,  55995=>1, 
 55996=>1,  55997=>1,  55998=>1,  55999=>1,  56000=>1,  56001=>1,  56002=>1, 
 56003=>1,  56004=>1,  56005=>1,  56006=>1,  56007=>1,  56008=>1,  56009=>1, 
 56010=>1,  56011=>1,  56012=>1,  56013=>1,  56014=>1,  56015=>1,  56016=>1, 
 56017=>1,  56018=>1,  56019=>1,  56020=>1,  56021=>1,  56022=>1,  56023=>1, 
 56024=>1,  56025=>1,  56026=>1,  56027=>1,  56028=>1,  56029=>1,  56030=>1, 
 56031=>1,  56032=>1,  56033=>1,  56034=>1,  56035=>1,  56036=>1,  56037=>1, 
 56038=>1,  56039=>1,  56040=>1,  56041=>1,  56042=>1,  56043=>1,  56044=>1, 
 56045=>1,  56046=>1,  56047=>1,  56048=>1,  56049=>1,  56050=>1,  56051=>1, 
 56052=>1,  56053=>1,  56054=>1,  56055=>1,  56056=>1,  56057=>1,  56058=>1, 
 56059=>1,  56060=>1,  56061=>1,  56062=>1,  56063=>1,  56064=>1,  56065=>1, 
 56066=>1,  56067=>1,  56068=>1,  56069=>1,  56070=>1,  56071=>1,  56072=>1, 
 56073=>1,  56074=>1,  56075=>1,  56076=>1,  56077=>1,  56078=>1,  56079=>1, 
 56080=>1,  56081=>1,  56082=>1,  56083=>1,  56084=>1,  56085=>1,  56086=>1, 
 56087=>1,  56088=>1,  56089=>1,  56090=>1,  56091=>1,  56092=>1,  56093=>1, 
 56094=>1,  56095=>1,  56096=>1,  56097=>1,  56098=>1,  56099=>1,  56100=>1, 
 56101=>1,  56102=>1,  56103=>1,  56104=>1,  56105=>1,  56106=>1,  56107=>1, 
 56108=>1,  56109=>1,  56110=>1,  56111=>1,  56112=>1,  56113=>1,  56114=>1, 
 56115=>1,  56116=>1,  56117=>1,  56118=>1,  56119=>1,  56120=>1,  56121=>1, 
 56122=>1,  56123=>1,  56124=>1,  56125=>1,  56126=>1,  56127=>1,  56128=>1, 
 56129=>1,  56130=>1,  56131=>1,  56132=>1,  56133=>1,  56134=>1,  56135=>1, 
 56136=>1,  56137=>1,  56138=>1,  56139=>1,  56140=>1,  56141=>1,  56142=>1, 
 56143=>1,  56144=>1,  56145=>1,  56146=>1,  56147=>1,  56148=>1,  56149=>1, 
 56150=>1,  56151=>1,  56152=>1,  56153=>1,  56154=>1,  56155=>1,  56156=>1, 
 56157=>1,  56158=>1,  56159=>1,  56160=>1,  56161=>1,  56162=>1,  56163=>1, 
 56164=>1,  56165=>1,  56166=>1,  56167=>1,  56168=>1,  56169=>1,  56170=>1, 
 56171=>1,  56172=>1,  56173=>1,  56174=>1,  56175=>1,  56176=>1,  56177=>1, 
 56178=>1,  56179=>1,  56180=>1,  56181=>1,  56182=>1,  56183=>1,  56184=>1, 
 56185=>1,  56186=>1,  56187=>1,  56188=>1,  56189=>1,  56190=>1,  56191=>1, 
 56192=>1,  56193=>1,  56194=>1,  56195=>1,  56196=>1,  56197=>1,  56198=>1, 
 56199=>1,  56200=>1,  56201=>1,  56202=>1,  56203=>1,  56204=>1,  56205=>1, 
 56206=>1,  56207=>1,  56208=>1,  56209=>1,  56210=>1,  56211=>1,  56212=>1, 
 56213=>1,  56214=>1,  56215=>1,  56216=>1,  56217=>1,  56218=>1,  56219=>1, 
 56220=>1,  56221=>1,  56222=>1,  56223=>1,  56224=>1,  56225=>1,  56226=>1, 
 56227=>1,  56228=>1,  56229=>1,  56230=>1,  56231=>1,  56232=>1,  56233=>1, 
 56234=>1,  56235=>1,  56236=>1,  56237=>1,  56238=>1,  56239=>1,  56240=>1, 
 56241=>1,  56242=>1,  56243=>1,  56244=>1,  56245=>1,  56246=>1,  56247=>1, 
 56248=>1,  56249=>1,  56250=>1,  56251=>1,  56252=>1,  56253=>1,  56254=>1, 
 56255=>1,  56256=>1,  56257=>1,  56258=>1,  56259=>1,  56260=>1,  56261=>1, 
 56262=>1,  56263=>1,  56264=>1,  56265=>1,  56266=>1,  56267=>1,  56268=>1, 
 56269=>1,  56270=>1,  56271=>1,  56272=>1,  56273=>1,  56274=>1,  56275=>1, 
 56276=>1,  56277=>1,  56278=>1,  56279=>1,  56280=>1,  56281=>1,  56282=>1, 
 56283=>1,  56284=>1,  56285=>1,  56286=>1,  56287=>1,  56288=>1,  56289=>1, 
 56290=>1,  56291=>1,  56292=>1,  56293=>1,  56294=>1,  56295=>1,  56296=>1, 
 56297=>1,  56298=>1,  56299=>1,  56300=>1,  56301=>1,  56302=>1,  56303=>1, 
 56304=>1,  56305=>1,  56306=>1,  56307=>1,  56308=>1,  56309=>1,  56310=>1, 
 56311=>1,  56312=>1,  56313=>1,  56314=>1,  56315=>1,  56316=>1,  56317=>1, 
 56318=>1,  56319=>1,  56320=>1,  56321=>1,  56322=>1,  56323=>1,  56324=>1, 
 56325=>1,  56326=>1,  56327=>1,  56328=>1,  56329=>1,  56330=>1,  56331=>1, 
 56332=>1,  56333=>1,  56334=>1,  56335=>1,  56336=>1,  56337=>1,  56338=>1, 
 56339=>1,  56340=>1,  56341=>1,  56342=>1,  56343=>1,  56344=>1,  56345=>1, 
 56346=>1,  56347=>1,  56348=>1,  56349=>1,  56350=>1,  56351=>1,  56352=>1, 
 56353=>1,  56354=>1,  56355=>1,  56356=>1,  56357=>1,  56358=>1,  56359=>1, 
 56360=>1,  56361=>1,  56362=>1,  56363=>1,  56364=>1,  56365=>1,  56366=>1, 
 56367=>1,  56368=>1,  56369=>1,  56370=>1,  56371=>1,  56372=>1,  56373=>1, 
 56374=>1,  56375=>1,  56376=>1,  56377=>1,  56378=>1,  56379=>1,  56380=>1, 
 56381=>1,  56382=>1,  56383=>1,  56384=>1,  56385=>1,  56386=>1,  56387=>1, 
 56388=>1,  56389=>1,  56390=>1,  56391=>1,  56392=>1,  56393=>1,  56394=>1, 
 56395=>1,  56396=>1,  56397=>1,  56398=>1,  56399=>1,  56400=>1,  56401=>1, 
 56402=>1,  56403=>1,  56404=>1,  56405=>1,  56406=>1,  56407=>1,  56408=>1, 
 56409=>1,  56410=>1,  56411=>1,  56412=>1,  56413=>1,  56414=>1,  56415=>1, 
 56416=>1,  56417=>1,  56418=>1,  56419=>1,  56420=>1,  56421=>1,  56422=>1, 
 56423=>1,  56424=>1,  56425=>1,  56426=>1,  56427=>1,  56428=>1,  56429=>1, 
 56430=>1,  56431=>1,  56432=>1,  56433=>1,  56434=>1,  56435=>1,  56436=>1, 
 56437=>1,  56438=>1,  56439=>1,  56440=>1,  56441=>1,  56442=>1,  56443=>1, 
 56444=>1,  56445=>1,  56446=>1,  56447=>1,  56448=>1,  56449=>1,  56450=>1, 
 56451=>1,  56452=>1,  56453=>1,  56454=>1,  56455=>1,  56456=>1,  56457=>1, 
 56458=>1,  56459=>1,  56460=>1,  56461=>1,  56462=>1,  56463=>1,  56464=>1, 
 56465=>1,  56466=>1,  56467=>1,  56468=>1,  56469=>1,  56470=>1,  56471=>1, 
 56472=>1,  56473=>1,  56474=>1,  56475=>1,  56476=>1,  56477=>1,  56478=>1, 
 56479=>1,  56480=>1,  56481=>1,  56482=>1,  56483=>1,  56484=>1,  56485=>1, 
 56486=>1,  56487=>1,  56488=>1,  56489=>1,  56490=>1,  56491=>1,  56492=>1, 
 56493=>1,  56494=>1,  56495=>1,  56496=>1,  56497=>1,  56498=>1,  56499=>1, 
 56500=>1,  56501=>1,  56502=>1,  56503=>1,  56504=>1,  56505=>1,  56506=>1, 
 56507=>1,  56508=>1,  56509=>1,  56510=>1,  56511=>1,  56512=>1,  56513=>1, 
 56514=>1,  56515=>1,  56516=>1,  56517=>1,  56518=>1,  56519=>1,  56520=>1, 
 56521=>1,  56522=>1,  56523=>1,  56524=>1,  56525=>1,  56526=>1,  56527=>1, 
 56528=>1,  56529=>1,  56530=>1,  56531=>1,  56532=>1,  56533=>1,  56534=>1, 
 56535=>1,  56536=>1,  56537=>1,  56538=>1,  56539=>1,  56540=>1,  56541=>1, 
 56542=>1,  56543=>1,  56544=>1,  56545=>1,  56546=>1,  56547=>1,  56548=>1, 
 56549=>1,  56550=>1,  56551=>1,  56552=>1,  56553=>1,  56554=>1,  56555=>1, 
 56556=>1,  56557=>1,  56558=>1,  56559=>1,  56560=>1,  56561=>1,  56562=>1, 
 56563=>1,  56564=>1,  56565=>1,  56566=>1,  56567=>1,  56568=>1,  56569=>1, 
 56570=>1,  56571=>1,  56572=>1,  56573=>1,  56574=>1,  56575=>1,  56576=>1, 
 56577=>1,  56578=>1,  56579=>1,  56580=>1,  56581=>1,  56582=>1,  56583=>1, 
 56584=>1,  56585=>1,  56586=>1,  56587=>1,  56588=>1,  56589=>1,  56590=>1, 
 56591=>1,  56592=>1,  56593=>1,  56594=>1,  56595=>1,  56596=>1,  56597=>1, 
 56598=>1,  56599=>1,  56600=>1,  56601=>1,  56602=>1,  56603=>1,  56604=>1, 
 56605=>1,  56606=>1,  56607=>1,  56608=>1,  56609=>1,  56610=>1,  56611=>1, 
 56612=>1,  56613=>1,  56614=>1,  56615=>1,  56616=>1,  56617=>1,  56618=>1, 
 56619=>1,  56620=>1,  56621=>1,  56622=>1,  56623=>1,  56624=>1,  56625=>1, 
 56626=>1,  56627=>1,  56628=>1,  56629=>1,  56630=>1,  56631=>1,  56632=>1, 
 56633=>1,  56634=>1,  56635=>1,  56636=>1,  56637=>1,  56638=>1,  56639=>1, 
 56640=>1,  56641=>1,  56642=>1,  56643=>1,  56644=>1,  56645=>1,  56646=>1, 
 56647=>1,  56648=>1,  56649=>1,  56650=>1,  56651=>1,  56652=>1,  56653=>1, 
 56654=>1,  56655=>1,  56656=>1,  56657=>1,  56658=>1,  56659=>1,  56660=>1, 
 56661=>1,  56662=>1,  56663=>1,  56664=>1,  56665=>1,  56666=>1,  56667=>1, 
 56668=>1,  56669=>1,  56670=>1,  56671=>1,  56672=>1,  56673=>1,  56674=>1, 
 56675=>1,  56676=>1,  56677=>1,  56678=>1,  56679=>1,  56680=>1,  56681=>1, 
 56682=>1,  56683=>1,  56684=>1,  56685=>1,  56686=>1,  56687=>1,  56688=>1, 
 56689=>1,  56690=>1,  56691=>1,  56692=>1,  56693=>1,  56694=>1,  56695=>1, 
 56696=>1,  56697=>1,  56698=>1,  56699=>1,  56700=>1,  56701=>1,  56702=>1, 
 56703=>1,  56704=>1,  56705=>1,  56706=>1,  56707=>1,  56708=>1,  56709=>1, 
 56710=>1,  56711=>1,  56712=>1,  56713=>1,  56714=>1,  56715=>1,  56716=>1, 
 56717=>1,  56718=>1,  56719=>1,  56720=>1,  56721=>1,  56722=>1,  56723=>1, 
 56724=>1,  56725=>1,  56726=>1,  56727=>1,  56728=>1,  56729=>1,  56730=>1, 
 56731=>1,  56732=>1,  56733=>1,  56734=>1,  56735=>1,  56736=>1,  56737=>1, 
 56738=>1,  56739=>1,  56740=>1,  56741=>1,  56742=>1,  56743=>1,  56744=>1, 
 56745=>1,  56746=>1,  56747=>1,  56748=>1,  56749=>1,  56750=>1,  56751=>1, 
 56752=>1,  56753=>1,  56754=>1,  56755=>1,  56756=>1,  56757=>1,  56758=>1, 
 56759=>1,  56760=>1,  56761=>1,  56762=>1,  56763=>1,  56764=>1,  56765=>1, 
 56766=>1,  56767=>1,  56768=>1,  56769=>1,  56770=>1,  56771=>1,  56772=>1, 
 56773=>1,  56774=>1,  56775=>1,  56776=>1,  56777=>1,  56778=>1,  56779=>1, 
 56780=>1,  56781=>1,  56782=>1,  56783=>1,  56784=>1,  56785=>1,  56786=>1, 
 56787=>1,  56788=>1,  56789=>1,  56790=>1,  56791=>1,  56792=>1,  56793=>1, 
 56794=>1,  56795=>1,  56796=>1,  56797=>1,  56798=>1,  56799=>1,  56800=>1, 
 56801=>1,  56802=>1,  56803=>1,  56804=>1,  56805=>1,  56806=>1,  56807=>1, 
 56808=>1,  56809=>1,  56810=>1,  56811=>1,  56812=>1,  56813=>1,  56814=>1, 
 56815=>1,  56816=>1,  56817=>1,  56818=>1,  56819=>1,  56820=>1,  56821=>1, 
 56822=>1,  56823=>1,  56824=>1,  56825=>1,  56826=>1,  56827=>1,  56828=>1, 



( run in 1.003 second using v1.01-cache-2.11-cpan-39bf76dae61 )