| Server IP : 172.67.216.113 / Your IP : 172.71.28.146 [ Web Server : Apache System : Linux cpanel01wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.59.el6.x86_64 #1 SMP Thu Dec 6 05:11:00 EST 2018 x86_64 User : cp648411 ( 1354) PHP Version : 7.2.34 Disable Function : NONE Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home2/cp648411/public_html/kainumber.com/theme/ |
Upload File : |
#!/usr/bin/perl -w
use Data::Dumper;
#----------------------------------------------------------------------------------------------------
# Number Database
#----------------------------------------------------------------------------------------------------
# All number definition [ Number of Digits ][ Number ]:
# - desc : definition of the number
# - score : good (+), neutral (0), bad (-)
# - link : specifically relates to other numbers (additional number combination)
my %DefinitionList;
$DefinitionList{ 1 }{ '0' } = { key => '0', desc => 'description 0', score => 0 };
$DefinitionList{ 1 }{ '1' } = { key => '1', desc => 'description 1', score => 0 };
$DefinitionList{ 1 }{ '2' } = { key => '2', desc => 'description 2', score => 0 };
$DefinitionList{ 1 }{ '3' } = { key => '3', desc => 'description 3', score => 0 };
$DefinitionList{ 1 }{ '4' } = { key => '4', desc => 'description 4', score => 0 };
$DefinitionList{ 1 }{ '5' } = { key => '5', desc => 'description 5', score => 0 };
$DefinitionList{ 1 }{ '6' } = { key => '6', desc => 'description 6', score => 0 };
$DefinitionList{ 1 }{ '7' } = { key => '7', desc => 'description 7', score => 0 };
$DefinitionList{ 1 }{ '8' } = { key => '8', desc => 'description 8', score => 0 };
$DefinitionList{ 1 }{ '9' } = { key => '9', desc => 'description 9', score => 0 };
$DefinitionList{ 2 }{ '00' } = { key => '00', desc => 'description 00', score => -100,
subcat => { love => 0, work => 0, support => 0, money => -3, parent => 0, friendship => 0, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '01' } = { key => '01', desc => 'description 01', score => -50,
subcat => { love => 0, work => 0, support => 0, money => -2, parent => 0, friendship => -2, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '02' } = { key => '02', desc => 'description 02', score => -100,
subcat => { love => 0, work => 0, support => 0, money => -4, parent => 0, friendship => 0, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '03' } = { key => '03', desc => 'description 03', score => -100,
subcat => { love => 0, work => 0, support => 0, money => -3, parent => 0, friendship => 0, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '04' } = { key => '04', desc => 'description 04', score => -100,
subcat => { love => 0, work => 0, support => 0, money => -2, parent => 0, friendship => 0, health => -3, safety => 0 } };
$DefinitionList{ 2 }{ '05' } = { key => '05', desc => 'description 05', score => -50,
subcat => { love => 0, work => 3, support => 3, money => -2, parent => 2, friendship => 3, health => -3, safety => 0 } };
$DefinitionList{ 2 }{ '06' } = { key => '06', desc => 'description 06', score => -100,
subcat => { love => -5, work => 0, support => 0, money => -3, parent => 0, friendship => 0, health => -3, safety => 0 } };
$DefinitionList{ 2 }{ '07' } = { key => '07', desc => 'description 07', score => -100,
subcat => { love => -5, work => -5, support => 0, money => -3, parent => 0, friendship => -2, health => -3, safety => 0 } };
$DefinitionList{ 2 }{ '08' } = { key => '08', desc => 'description 08', score => -100,
subcat => { love => 0, work => 0, support => 0, money => -5, parent => 0, friendship => -3, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '09' } = { key => '09', desc => 'description 09', score => -80,
subcat => { love => -3, work => 0, support => 0, money => 0, parent => 0, friendship => 3, health => -3, safety => 5 } };
$DefinitionList{ 2 }{ '10' } = $DefinitionList{ 2 }{ '01' };
$DefinitionList{ 2 }{ '11' } = { key => '11', desc => 'description 11', score => 20,
subcat => { love => 0, work =>2 , support => 0, money => 0, parent => -1, friendship => 2, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '12' } = { key => '12', desc => 'description 12', score => -100,
link => [ '12+23+26', '12+27+26', '12+37+26', '12+48+26', '12+23', '12+27', '12+37', '12+48' ],
subcat => { love => -5, work => 0, support => -3, money => 0, parent => -5, friendship => 0, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '13' } = { key => '13', desc => 'description 13', score => -100,
subcat => { love => 0, work => 0, support => -5, money => -5, parent => -3, friendship => -3, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '14' } = { key => '14', desc => 'description 14', score => 70,
subcat => { love => 3, work => 0, support => 3, money => 3, parent => 3, friendship => 3, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '15' } = { key => '15', desc => 'description 15', score => 100,
subcat => { love => 1, work => 5, support => 5, money => 5, parent => 4, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '16' } = { key => '16', desc => 'description 16', score => 70,
subcat => { love => 2, work => 0, support => 1, money => 5, parent => 2, friendship => 1, health => 4, safety => 0 } };
$DefinitionList{ 2 }{ '17' } = { key => '17', desc => 'description 17', score => 50,
subcat => { love => 0, work => 1, support => 0, money => 1, parent => 0, friendship => 3, health => 2, safety => 0 } };
$DefinitionList{ 2 }{ '18' } = { key => '18', desc => 'description 18', score => -100,
subcat => { love => 0, work => 0, support => -5, money => -5, parent => -3, friendship => -5, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '19' } = { key => '19', desc => 'description 19', score => 80,
subcat => { love => 0, work => 0, support => 0, money => 3, parent => 1, friendship => 5, health => 5, safety => 3 } };
$DefinitionList{ 2 }{ '20' } = $DefinitionList{ 2 }{ '02' };
$DefinitionList{ 2 }{ '21' } = $DefinitionList{ 2 }{ '12' };
$DefinitionList{ 2 }{ '22' } = { key => '22', desc => 'description 22', score => 100,
subcat => { love => 4, work => 0, support => 0, money => 4, parent => 2, friendship => 1, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '23' } = { key => '23', desc => 'description 23', score => -60,
link => [ '12+23+26', '12+23' ],
subcat => { love => -4, work => 0, support => 1, money => 2, parent => 2, friendship => 1, health => -4, safety => 0 } };
$DefinitionList{ 2 }{ '24' } = { key => '24', desc => 'description 24', score => 100,
subcat => { love => 5, work => 0, support => 5, money => 4, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '25' } = { key => '25', desc => 'description 25', score => 80,
subcat => { love => 2, work => 2, support => 2, money => 2, parent => 3, friendship => 3, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '26' } = { key => '26', desc => 'description 26', score => 50,
link => [ '12+23+26', '12+27+26', '12+37+26', '12+48+26' ],
subcat => { love => 3, work => 0, support => 0, money => 3, parent => 3, friendship => 3, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '27' } = { key => '27', desc => 'description 27', score => -100,
link => [ '12+27+26', '12+27' ],
subcat => { love => -5, work => 0, support => -5, money => -5, parent => -5, friendship => -5, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '28' } = { key => '28', desc => 'description 28', score => 50,
subcat => { love => 0, work => 0, support => 0, money => 3, parent => -2, friendship => -2, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '29' } = { key => '29', desc => 'description 29', score => 70,
link => [ '29+66' ],
subcat => { love => 2, work => 0, support => 0, money => 2, parent => 2, friendship => 1, health => 5, safety => 3 } };
$DefinitionList{ 2 }{ '30' } = $DefinitionList{ 2 }{ '03' };
$DefinitionList{ 2 }{ '31' } = $DefinitionList{ 2 }{ '13' };
$DefinitionList{ 2 }{ '32' } = $DefinitionList{ 2 }{ '23' };
$DefinitionList{ 2 }{ '33' } = { key => '33', desc => 'description 33', score => 40,
subcat => { love => 0, work => 0, support => 0, money => 0, parent => 2, friendship => 2, health => 2, safety => 0 } };
$DefinitionList{ 2 }{ '34' } = { key => '34', desc => 'description 34', score => -50,
subcat => { love => -3, work => 0, support => -3, money => 0, parent => -3, friendship => -3, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '35' } = { key => '35', desc => 'description 35', score => 100,
subcat => { love => 0, work => 2, support => 5, money => 0, parent => 3, friendship => 3, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '36' } = { key => '36', desc => 'description 36', score => 100,
subcat => { love => 5, work => 0, support => 0, money => 3, parent => 3, friendship => 0, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '37' } = { key => '37', desc => 'description 37', score => -100,
link => [ '12+37+26', '12+37' ],
subcat => { love => -5, work => 0, support => -5, money => -5, parent => -5, friendship => -5, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '38' } = { key => '38', desc => 'description 38', score => 50,
subcat => { love => 0, work => 0, support => -2, money => -1, parent => -2, friendship => -2, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '39' } = { key => '39', desc => 'description 39', score => 20,
subcat => { love => -2, work => 2, support => 0, money => 0, parent => 0, friendship => 3, health => -2, safety => 3 } };
$DefinitionList{ 2 }{ '40' } = $DefinitionList{ 2 }{ '04' };
$DefinitionList{ 2 }{ '41' } = $DefinitionList{ 2 }{ '14' };
$DefinitionList{ 2 }{ '42' } = $DefinitionList{ 2 }{ '24' };
$DefinitionList{ 2 }{ '43' } = $DefinitionList{ 2 }{ '34' };
$DefinitionList{ 2 }{ '44' } = { key => '44', desc => 'description 44', score => 50,
subcat => { love => 0, work => 2, support => 0, money => 1, parent => 0, friendship => 3, health => 0, safety => 0 } };
$DefinitionList{ 2 }{ '45' } = { key => '45', desc => 'description 45', score => 100,
subcat => { love => 0, work => 5, support => 5, money => 5, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '46' } = { key => '46', desc => 'description 46', score => 80,
subcat => { love => 4, work => 0, support => 2, money => 3, parent => 5, friendship => 3, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '47' } = { key => '47', desc => 'description 47', score => 50,
subcat => { love => 0, work => 2, support => 0, money => 0, parent => 2, friendship => 2, health => 3, safety => 0 } };
$DefinitionList{ 2 }{ '48' } = { key => '48', desc => 'description 48', score => -100,
link => [ '12+48+26', '12+48' ],
subcat => { love => 0, work => -5, support => -5, money => -5, parent => -5, friendship => -5, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '49' } = { key => '49', desc => 'description 49', score => 50,
subcat => { love => 0, work => 1, support => 0, money => 0, parent => 2, friendship => 3, health => 5, safety => 5 } };
$DefinitionList{ 2 }{ '50' } = $DefinitionList{ 2 }{ '05' };
$DefinitionList{ 2 }{ '51' } = $DefinitionList{ 2 }{ '15' };
$DefinitionList{ 2 }{ '52' } = $DefinitionList{ 2 }{ '25' };
$DefinitionList{ 2 }{ '53' } = $DefinitionList{ 2 }{ '35' };
$DefinitionList{ 2 }{ '54' } = $DefinitionList{ 2 }{ '45' };
$DefinitionList{ 2 }{ '55' } = { key => '55', desc => 'description 55', score => 100,
subcat => { love => 0, work => 5, support => 5, money => 5, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '56' } = { key => '56', desc => 'description 56', score => 100,
subcat => { love => 5, work => 5, support => 5, money => 5, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '57' } = { key => '57', desc => 'description 57', score => 30,
subcat => { love => 0, work => 3, support => 3, money => 0, parent => 2, friendship => 2, health => 1, safety => 0 } };
$DefinitionList{ 2 }{ '58' } = { key => '58', desc => 'description 58', score => 30,
subcat => { love => 0, work => 3, support => 3, money => 2, parent => 0, friendship => 2, health => -2, safety => 0 } };
$DefinitionList{ 2 }{ '59' } = { key => '59', desc => 'description 59', score => 100,
subcat => { love => 0, work => 5, support => 5, money => 5, parent => 5, friendship => 5, health => 5, safety => 5 } };
$DefinitionList{ 2 }{ '60' } = $DefinitionList{ 2 }{ '06' };
$DefinitionList{ 2 }{ '61' } = $DefinitionList{ 2 }{ '16' };
$DefinitionList{ 2 }{ '62' } = $DefinitionList{ 2 }{ '26' };
$DefinitionList{ 2 }{ '63' } = $DefinitionList{ 2 }{ '36' };
$DefinitionList{ 2 }{ '64' } = $DefinitionList{ 2 }{ '46' };
$DefinitionList{ 2 }{ '65' } = $DefinitionList{ 2 }{ '56' };
$DefinitionList{ 2 }{ '66' } = { key => '66', desc => 'description 66', score => 100,
subcat => { love => 5, work => 0, support => 0, money => 5, parent => 0, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 2 }{ '67' } = { key => '67', desc => 'description 67', score => -100,
subcat => { love => -5, work => -5, support => 0, money => 0, parent => 0, friendship => -2, health => -3, safety => 0 } };
$DefinitionList{ 2 }{ '68' } = { key => '68', desc => 'description 68', score => 50,
subcat => { love => -3, work => 0, support => 0, money => +3, parent => 0, friendship => -3, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '69' } = { key => '69', desc => 'description 69', score => 80,
subcat => { love => 0, work => 0, support => 0, money => 0, parent => 2, friendship => 2, health => 5, safety => 4 } };
$DefinitionList{ 2 }{ '70' } = $DefinitionList{ 2 }{ '07' };
$DefinitionList{ 2 }{ '71' } = $DefinitionList{ 2 }{ '17' };
$DefinitionList{ 2 }{ '72' } = $DefinitionList{ 2 }{ '27' };
$DefinitionList{ 2 }{ '73' } = $DefinitionList{ 2 }{ '37' };
$DefinitionList{ 2 }{ '74' } = $DefinitionList{ 2 }{ '47' };
$DefinitionList{ 2 }{ '75' } = $DefinitionList{ 2 }{ '57' };
$DefinitionList{ 2 }{ '76' } = $DefinitionList{ 2 }{ '67' };
$DefinitionList{ 2 }{ '77' } = { key => '77', desc => 'description 77', score => 40,
subcat => { love => 0, work => 2, support => 0, money => 0, parent => 0, friendship => 2, health => -2, safety => 0 } };
$DefinitionList{ 2 }{ '78' } = { key => '78', desc => 'description 78', score => 80,
subcat => { love => 0, work => 5, support => 0, money => 5, parent => 0, friendship => 5, health => -2, safety => 0 } };
$DefinitionList{ 2 }{ '79' } = { key => '79', desc => 'description 79', score => 80,
subcat => { love => 0, work => 5, support => 0, money => 5, parent => 0, friendship => 5, health => -2, safety => 0 } };
$DefinitionList{ 2 }{ '80' } = $DefinitionList{ 2 }{ '08' };
$DefinitionList{ 2 }{ '81' } = $DefinitionList{ 2 }{ '18' };
$DefinitionList{ 2 }{ '82' } = $DefinitionList{ 2 }{ '28' };
$DefinitionList{ 2 }{ '83' } = $DefinitionList{ 2 }{ '38' };
$DefinitionList{ 2 }{ '84' } = $DefinitionList{ 2 }{ '48' };
$DefinitionList{ 2 }{ '85' } = $DefinitionList{ 2 }{ '58' };
$DefinitionList{ 2 }{ '86' } = $DefinitionList{ 2 }{ '68' };
$DefinitionList{ 2 }{ '87' } = $DefinitionList{ 2 }{ '78' };
$DefinitionList{ 2 }{ '88' } = { key => '88', desc => 'description 88', score => 80,
subcat => { love => 0, work => 0, support => 0, money => 5, parent => 0, friendship => 5, health => -5, safety => 0 } };
$DefinitionList{ 2 }{ '89' } = { key => '89', desc => 'description 89', score => 100,
subcat => { love => 0, work => 0, support => 0, money => 5, parent => 0, friendship => 5, health => -2, safety => 3 } };
$DefinitionList{ 2 }{ '90' } = $DefinitionList{ 2 }{ '09' };
$DefinitionList{ 2 }{ '91' } = $DefinitionList{ 2 }{ '19' };
$DefinitionList{ 2 }{ '92' } = $DefinitionList{ 2 }{ '29' };
$DefinitionList{ 2 }{ '93' } = $DefinitionList{ 2 }{ '39' };
$DefinitionList{ 2 }{ '94' } = $DefinitionList{ 2 }{ '49' };
$DefinitionList{ 2 }{ '95' } = $DefinitionList{ 2 }{ '59' };
$DefinitionList{ 2 }{ '96' } = $DefinitionList{ 2 }{ '69' };
$DefinitionList{ 2 }{ '97' } = $DefinitionList{ 2 }{ '79' };
$DefinitionList{ 2 }{ '98' } = $DefinitionList{ 2 }{ '89' };
$DefinitionList{ 2 }{ '99' } = { key => '99', desc => 'description 99', score => 100,
subcat => { love => 2, work => 0, support => 0, money => 0, parent => 0, friendship => 3, health => 5, safety => 5 } };
$DefinitionList{ 3 }{ '023' } = { key => '023', desc => 'description 023', score => -80,
subcat => { love => -5, work => 0, support => 0, money => 0, parent => -5, friendship => 0, health => -5, safety => 0 } };
$DefinitionList{ 3 }{ '032' } = $DefinitionList{ 3 }{ '023' };
$DefinitionList{ 3 }{ '067' } = { key => '067', desc => 'description 067', score => -100,
subcat => { love => -5, work => 0, support => 0, money => -3, parent => -5, friendship => 0, health => -3, safety => 0 } };
$DefinitionList{ 3 }{ '076' } = $DefinitionList{ 3 }{ '067' };
#$DefinitionList{ 3 }{ '123' } = { key => '123', desc => 'description 123', score => -1,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
$DefinitionList{ 3 }{ '415' } = { key => '415', desc => 'description 415', score => 100,
subcat => { love => 0, work => 5, support => 5, money => 5, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 3 }{ '514' } = $DefinitionList{ 3 }{ '415' };
$DefinitionList{ 3 }{ '516' } = $DefinitionList{ 3 }{ '415' };
$DefinitionList{ 3 }{ '615' } = $DefinitionList{ 3 }{ '415' };
$DefinitionList{ 3 }{ '789' } = { key => '789', desc => 'description 789', score => 100,
subcat => { love => 0, work => 0, support => 0, money => 5, parent => 0, friendship => 5, health => 3, safety => 3 } };
$DefinitionList{ 3 }{ '798' } = $DefinitionList{ 3 }{ '789' };
$DefinitionList{ 3 }{ '879' } = $DefinitionList{ 3 }{ '789' };
$DefinitionList{ 3 }{ '897' } = $DefinitionList{ 3 }{ '789' };
$DefinitionList{ 3 }{ '978' } = $DefinitionList{ 3 }{ '789' };
$DefinitionList{ 3 }{ '987' } = $DefinitionList{ 3 }{ '789' };
$DefinitionList{ 3 }{ '246' } = { key => '246', desc => 'description 246', score => 100,
subcat => { love => 5, work => 5, support => 3, money => 5, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 3 }{ '264' } = $DefinitionList{ 3 }{ '246' };
$DefinitionList{ 3 }{ '426' } = $DefinitionList{ 3 }{ '246' };
$DefinitionList{ 3 }{ '462' } = $DefinitionList{ 3 }{ '246' };
$DefinitionList{ 3 }{ '624' } = $DefinitionList{ 3 }{ '246' };
$DefinitionList{ 3 }{ '642' } = $DefinitionList{ 3 }{ '246' };
$DefinitionList{ 3 }{ '365' } = { key => '365', desc => 'description 365', score => 100,
subcat => { love => 5, work => 5, support => 5, money => 5, parent => 5, friendship => 5, health => 5, safety => 0 } };
$DefinitionList{ 3 }{ '846' } = { key => '846', desc => 'description 846', score => -100,
subcat => { love => 0, work => 0, support => -5, money => -5, parent => 0, friendship => -5, health => -5, safety => 0 } };
# Combination (related numbers)
my %CombinationList;
$CombinationList{ '11:5' } = { desc => 'description of 11+5', score => 40,
subcat => { love => 0, work => 2, support => 3, money => 0, parent => 0, friendship => 2, health => 0, safety => 0 } };
$CombinationList{ '11:9' } = { desc => 'description of 11+9', score => 40,
subcat => { love => 0, work => 0, support => 0, money => 0, parent => 0, friendship => 2, health => 0, safety => 2 } };
$CombinationList{ '12+23' } = { desc => 'description of 12+23', score => -100,
subcat => { love => -5, work => 0, support => 0, money => 0, parent => -5, friendship => 0, health => -3, safety => 0 } };
$CombinationList{ '12+27' } = { desc => 'description of 12+27', score => -100,
subcat => { love => -5, work => -5, support => 0, money => -5, parent => 0, friendship => 0, health => -3, safety => 0 } };
$CombinationList{ '12+37' } = { desc => 'description of 12+37', score => -100,
subcat => { love => -5, work => -5, support => 0, money => -5, parent => 0, friendship => 0, health => -5, safety => 0 } };
$CombinationList{ '12+48' } = { desc => 'description of 12+48', score => -100,
subcat => { love => -5, work => -5, support => 0, money => -5, parent => 0, friendship => 0, health => -5, safety => 0 } };
#$CombinationList{ '12:5' } = { desc => 'description of 12+5', score => -50,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
#$CombinationList{ '12:9' } = { desc => 'description of 12+9', score => -50,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
$CombinationList{ '13:5' } = { desc => 'description of 13+5', score => -20,
subcat => { love => 0, work => 3, support => 3, money => 0, parent => 0, friendship => 2, health => -2, safety => 0 } };
$CombinationList{ '13:9' } = { desc => 'description of 13+9', score => -20,
subcat => { love => 0, work => -2, support => 0, money => 0, parent => 0, friendship => 2, health => -2, safety => 3 } };
#$CombinationList{ '23:5' } = { desc => 'description of 23+5', score => -50,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
$CombinationList{ '23:9' } = { desc => 'description of 23+9', score => -50,
subcat => { love => -5, work => 0, support => 0, money => 0, parent => -5, friendship => 0, health => -3, safety => 0 } };
#$CombinationList{ '27:5' } = { desc => 'description of 27+5', score => -50,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
#$CombinationList{ '27:9' } = { desc => 'description of 27+9', score => -50,
# subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
$CombinationList{ '37:5' } = { desc => 'description of 37+5', score => -100,
subcat => { love => 0, work => -5, support => 1, money => -5, parent => 0, friendship => -5, health => -5, safety => 0 } };
$CombinationList{ '37:9' } = { desc => 'description of 37+9', score => -100,
subcat => { love => 0, work => -5, support => 0, money => -5, parent => 0, friendship => -5, health => -5, safety => 0 } };
$CombinationList{ '48:5' } = { desc => 'description of 48+5', score => -100,
subcat => { love => 0, work => -5, support => 0, money => -5, parent => 0, friendship => -5, health => -5, safety => 0 } };
#$CombinationList{ '48:9' } = { desc => 'description of 48+9', score => -50,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
#$CombinationList{ '29+66' } = { desc => 'description of 29+66', score => 2,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
$CombinationList{ '12+27+26' } = { desc => 'description of 12+27+26', score => -40,
subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
#$CombinationList{ '12+27+26:5' } = { desc => 'description of 12+27+26:5', score => -35,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
#$CombinationList{ '12+27+26:9' } = { desc => 'description of 12+27+26:9', score => -35,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
#$CombinationList{ '12+27+26:59' } = { desc => 'description of 12+27+26:59', score => -35,
#subcat => { love => 1, work => 1, support => 1, money => 1, parent => 1, friendship => 1, health => 1, safety => 1 } };
# Sum of all digits definition
my %SumDigitList;
$SumDigitList{ '36' } = 'Love & Warm';
$SumDigitList{ '40' } = 'Miracle';
$SumDigitList{ '41' } = 'Universe Energy';
$SumDigitList{ '42' } = 'Romantic';
$SumDigitList{ '44' } = 'Success Drive';
$SumDigitList{ '45' } = 'Fighting Spirit';
$SumDigitList{ '46' } = 'Lucky Star';
$SumDigitList{ '50' } = 'Intelligence';
$SumDigitList{ '51' } = 'Completeness';
$SumDigitList{ '54' } = 'Great Success';
$SumDigitList{ '55' } = 'Fulfillment';
$SumDigitList{ '56' } = 'Art';
$SumDigitList{ '59' } = 'Spiritual';
$SumDigitList{ '60' } = 'Imagination';
$SumDigitList{ '63' } = 'Endless Love';
$SumDigitList{ '64' } = 'Success';
$SumDigitList{ '65' } = 'Charm';
$SumDigitList{ '66' } = 'Emotional';
# General analysis definition
my %GeneralList;
$GeneralList{ '9+5' } = { score => 1, desc => 'Can depend on people' };
$GeneralList{ '9-5' } = { score => -1, desc => 'Cannot depend on people' };
$GeneralList{ 'end380' } = { score => -10, desc => 'Cannot save money' };
$GeneralList{ 'end7' } = { score => -70, desc => 'Cannot close the deal' };
$GeneralList{ 'B+G' } = { score => -5, desc => 'Bad, but has support from cousins, managers' };
$GeneralList{ 'G+B' } = { score => -10, desc => 'Bad, but has support from closed relatives, parents' };
$GeneralList{ 'G+BG' } = { score => -1, desc => 'Bad, but has support from both closed relatives, parents, and cousins, managers' };
$GeneralList{ 'B+B' } = { score => -20, desc => 'Bad, and no support' };
#----------------------------------------------------------------------------------------------------
# Define constant
#----------------------------------------------------------------------------------------------------
# Common constants
use constant YES => 1;
use constant NO => 0;
# Return code.
use constant FALSE => 0;
use constant TRUE => 1;
# Extremely Bad Digit Score
use constant EXTREME_SCORE => -60;
# Max digits in definition list.
use constant MAX_DIGIT => 3;
#----------------------------------------------------------------------------------------------------
# Global Variables
#----------------------------------------------------------------------------------------------------
# Sequence of number combination to analyze and display the result
my @NumberSequence;
#----------------------------------------------------------------------------------------------------
# Description : To list possible number arrangement
# Parameter : Number
#----------------------------------------------------------------------------------------------------
sub ListPossible
{
my $Key = shift( @_ );
my @Result;
if( length( $Key ) == 1 )
{
push( @Result, $Key );
}
elsif( length( $Key ) == 2 )
{
push( @Result, $Key );
push( @Result, substr( $Key, 1, 1 ) . substr( $Key, 0, 1 ) );
}
return @Result;
}
#----------------------------------------------------------------------------------------------------
# Description : Decode Combination
# Parameter : Number to lookup
#----------------------------------------------------------------------------------------------------
sub DecodeCombination
{
my $Value = shift( @_ );
my %NumberCombination;
my @PosCombination;
my %ProcessedList;
my $ValueLen = length( $Value );
my $MaxLen;
print ":: For 2-digit --> Decoding combination in $Value<br>\n";
# First, analyzing 2-digit combination
if( $ValueLen < 2 )
{
print " :: $Value : too short to lookup<br>\n";
return FALSE;
}
my $Pos = 0;
my $PosKey;
my $Combi;
my $Score;
my $ScoreKey;
while( $Pos + 2 <= $ValueLen )
{
$Combi = substr( $Value, $Pos, 2 );
if( exists( $DefinitionList{ 2 }{ $Combi } ))
{
# Identify bad numbers out of good number --> For bad number, group by score, and position. Good numbers, only need position
$Score = $DefinitionList{ 2 }{ $Combi }{ score };
if( $Score < 0 )
{
$ScoreKey = sprintf( "%4d", 1000 + $Score );
}
else
{
$ScoreKey = sprintf( "%4d", 1000 );
}
print " • At $Pos --> Taking [$Combi] score = $Score<br>\n";
$PosKey = sprintf( "%02d", $Pos );
$NumberCombination{ $ScoreKey }{ $PosKey }{ combi } = $Combi;
$NumberCombination{ $ScoreKey }{ $PosKey }{ score } = $Score;
$PosCombination{ $Pos }{ combi } = $Combi;
$PosCombination{ $Pos }{ score } = $Score;
}
else
{
print " • At $Pos --> Skip [$Combi]<br>\n";
}
$Pos++;
}
# Identifying sequence
print "\nIdentifying sequence:<br>\n";
my $Seq = 1;
my @TmpSequence;
# Loop by lowest score (very bad numbers first)
foreach $ScoreKey ( sort keys %NumberCombination )
{
# Loop for position (from front to back)
foreach $PosKey ( sort keys %{ $NumberCombination{ $ScoreKey }} )
{
$Pos = 0 + $PosKey;
print " " . $Seq++ . " : score = " . $NumberCombination{ $ScoreKey }{ $PosKey }{ score } . " \tPos = $Pos \tcombination = " . $NumberCombination{ $ScoreKey }{ $PosKey }{ combi } . "<br>\n";
# Check if the combination has already been in the list, so that we don't display double translation, and XY = YX, keep only 1 combination.
if( !exists( $ProcessedList{ $NumberCombination{ $ScoreKey }{ $PosKey }{ combi } }{ key } ))
{
push( @NumberSequence, { combi => $NumberCombination{ $ScoreKey }{ $PosKey }{ combi },
posit => $Pos } );
$ProcessedList{ $DefinitionList{ 2 }{ $NumberCombination{ $ScoreKey }{ $PosKey }{ combi } }{ key } } = 1;
}
}
}
# Now, analyzing 3+ digit combination, do a simple loop
if( $ValueLen <= MAX_DIGIT )
{
$MaxLen = $ValueLen;
}
elsif( $ValueLen > MAX_DIGIT )
{
$MaxLen = MAX_DIGIT;
}
$WorkLen = 3;
while( $WorkLen <= $MaxLen )
{
print "\n:: For $WorkLen-digit --> Checking combination<br>\n";
$Pos = 0;
while( $Pos + $WorkLen <= $ValueLen )
{
$Combi = substr( $Value, $Pos, $WorkLen );
if( exists( $DefinitionList{ $WorkLen }{ $Combi } ))
{
$Score = $DefinitionList{ $WorkLen }{ $Combi }{ score };
print " • At $Pos --> Taking [$Combi] score = $Score<br>\n";
push( @NumberSequence, { combi => $Combi, posit => $Pos } );
}
else
{
print " • At $Pos --> Skip [$Combi]<br>\n";
}
$Pos++;
}
$WorkLen++;
}
}
#----------------------------------------------------------------------------------------------------
# Description : Generic Number Lookup
#----------------------------------------------------------------------------------------------------
sub Lookup
{
my $Value = shift( @_ );
my $Combi;
my $CombiLen;
my $Pos;
my %ProcessedList;
# Total score calculated from all number combination
my %TotalScore;
# Total score of each subcat of all number combination
my %SubCatScore;
my $ValueLen = length( $Value );
for( my $i = 0; $i <= $#NumberSequence; $i++ )
{
$Combi = $NumberSequence[ $i ]{ combi };
$Pos = $NumberSequence[ $i ]{ posit };
$CombiLen = length( $Combi );
if( exists( $DefinitionList{ $CombiLen }{ $Combi } ) && !exists( $ProcessedList{ $DefinitionList{ $CombiLen }{ $Combi }{ key } } ))
{
# Skip those already processed
if( exists( $DefinitionList{ $CombiLen }{ $Combi } ))
{
# Analyze linked combination
if( exists( $DefinitionList{ $CombiLen }{ $Combi }{ link } ))
{
my $LinkFound;
my $IsExtreme;
my $Found_59 = undef;
# Loop for each combination
foreach my $CombiLink ( @{ $DefinitionList{ $CombiLen }{ $Combi }{ link } } )
{
$LinkFound = TRUE;
my $KeyMatch;
my %MatchList;
my @KeyList = split( /\+/, $CombiLink );
# Loop into each key in combination
foreach my $AKey ( @KeyList )
{
$KeyMatch = FALSE;
# Check if the link key is extremely bad.
if( exists( $DefinitionList{ $CombiLen }{ $AKey } ) && $DefinitionList{ $CombiLen }{ $AKey }{ score } <= EXTREME_SCORE )
{
$IsExtreme = TRUE;
}
else
{
$IsExtreme = FALSE;
}
my @KeyVariant = ListPossible( $AKey );
foreach my $AVariant ( @KeyVariant )
{
my $TmpPos = index( $Value, $AVariant );
if( $TmpPos != -1 )
{
$KeyMatch = TRUE;
# Check prefix / suffix value 5/9 if extreme number.
if( $IsExtreme )
{
if( $TmpPos > 0 )
{
$Found_59 .= substr( $Value, $TmpPos - 1, 1 ) if( substr( $Value, $TmpPos - 1, 1 ) =~ /[59]/ );
}
if( $TmpPos + length( $AVariant ) < length( $Value ))
{
$Found_59 .= substr( $Value, $TmpPos + length( $AVariant ), 1 ) if( substr( $Value, $TmpPos + length( $AVariant ), 1 ) =~ /[59]/ );
}
}
# Keep the key to mark as processed later.
if( exists( $DefinitionList{ length( $AVariant ) }{ $AVariant }{ key } ))
{
$MatchList{ $DefinitionList{ length( $AVariant ) }{ $AVariant }{ key } } = 1;
}
}
}
if( !$KeyMatch )
{
$LinkFound = FALSE;
last;
}
}
if( $LinkFound )
{
if( !exists( $ProcessedList{ $CombiLink } ))
{
# For extreme number, prefix / suffix with 5 or 9 may have different meaning.
if( defined( $Found_59 ))
{
if( $Found_59 =~ /5/ && $Found_59 =~ /9/ && exists( $CombinationList{ $CombiLink . ":59" } ))
{
( $CombinationList{ $CombiLink . ":59" }{ score } >= 0 )
? ( $TotalScore{ positive } += $CombinationList{ $CombiLink . ":59" }{ score } )
: ( $TotalScore{ negative } += $CombinationList{ $CombiLink . ":59" }{ score } );
printf " %-4s : ( %3d ) %-20s", $Combi, $CombinationList{ $CombiLink . ":59" }{ score },
$CombinationList{ $CombiLink . ":59" }{ desc };
# Loop for subcat score
print "\t|";
foreach my $SubCat ( sort keys %{ $CombinationList{ $CombiLink . ":59" }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $CombinationList{ $CombiLink . ":59" }{ subcat }{ $SubCat };
( $CombinationList{ $CombiLink . ":59" }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $CombinationList{ $CombiLink . ":59" }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $CombinationList{ $CombiLink . ":59" }{ subcat }{ $SubCat } );
}
print "<br>\n";
}
elsif( $Found_59 =~ /5/ && exists( $CombinationList{ $CombiLink . ":5" } ))
{
( $CombinationList{ $CombiLink . ":5" }{ score } >= 0 )
? ( $TotalScore{ positive } += $CombinationList{ $CombiLink . ":5" }{ score } )
: ( $TotalScore{ negative } += $CombinationList{ $CombiLink . ":5" }{ score } );
printf " %-4s : ( %3d ) %-20s", $Combi, $CombinationList{ $CombiLink . ":5" }{ score },
$CombinationList{ $CombiLink . ":5" }{ desc };
# Loop for subcat score
print "<br>\t|";
foreach my $SubCat ( sort keys %{ $CombinationList{ $CombiLink . ":5" }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $CombinationList{ $CombiLink . ":5" }{ subcat }{ $SubCat };
( $CombinationList{ $CombiLink . ":5" }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $CombinationList{ $CombiLink . ":5" }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $CombinationList{ $CombiLink . ":5" }{ subcat }{ $SubCat } );
}
print "<br>\n";
}
elsif( $Found_59 =~ /9/ && exists( $CombinationList{ $CombiLink . ":9" } ))
{
( $CombinationList{ $CombiLink . ":9" }{ score } >= 0 )
? ( $TotalScore{ positive } += $CombinationList{ $CombiLink . ":9" }{ score } )
: ( $TotalScore{ negative } += $CombinationList{ $CombiLink . ":9" }{ score } );
printf " %-4s : ( %3d ) %-20s", $Combi, $CombinationList{ $CombiLink . ":9" }{ score },
$CombinationList{ $CombiLink . ":9" }{ desc };
# Loop for subcat score
print "\t|";
foreach my $SubCat ( sort keys %{ $CombinationList{ $CombiLink . ":9" }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $CombinationList{ $CombiLink . ":9" }{ subcat }{ $SubCat };
( $CombinationList{ $CombiLink . ":9" }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $CombinationList{ $CombiLink . ":9" }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $CombinationList{ $CombiLink . ":9" }{ subcat }{ $SubCat } );
}
print "<br>\n";
}
else
{
( $CombinationList{ $CombiLink }{ score } >= 0 )
? ( $TotalScore{ positive } += $CombinationList{ $CombiLink }{ score } )
: ( $TotalScore{ negative } += $CombinationList{ $CombiLink }{ score } );
printf " %-4s : ( %3d ) %-20s", $Combi, $CombinationList{ $CombiLink }{ score },
$CombinationList{ $CombiLink }{ desc };
# Loop for subcat score
print "\t|";
foreach my $SubCat ( sort keys %{ $CombinationList{ $CombiLink }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $CombinationList{ $CombiLink }{ subcat }{ $SubCat };
( $CombinationList{ $CombiLink }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $CombinationList{ $CombiLink }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $CombinationList{ $CombiLink }{ subcat }{ $SubCat } );
}
print "<br>\n";
}
}
else
{
( $CombinationList{ $CombiLink }{ score } >= 0 )
? ( $TotalScore{ positive } += $CombinationList{ $CombiLink }{ score } )
: ( $TotalScore{ negative } += $CombinationList{ $CombiLink }{ score } );
printf " %-4s : ( %3d ) %-20s", $Combi, $CombinationList{ $CombiLink }{ score },
$CombinationList{ $CombiLink }{ desc };
# Loop for subcat score
print "\t|";
foreach my $SubCat ( sort keys %{ $CombinationList{ $CombiLink }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $CombinationList{ $CombiLink }{ subcat }{ $SubCat };
( $CombinationList{ $CombiLink }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $CombinationList{ $CombiLink }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $CombinationList{ $CombiLink }{ subcat }{ $SubCat } );
}
print "<br>//\n";
}
$ProcessedList{ $CombiLink } = 1;
foreach my $AMatch ( keys %MatchList )
{
$ProcessedList{ $AMatch } = 1;
}
}
last;
}
}
if( !$LinkFound )
{
# The related number(s) are not found
if( !exists( $ProcessedList{ $DefinitionList{ $CombiLen }{ $Combi }{ key } } ))
{
( $DefinitionList{ $CombiLen }{ $Combi }{ score } >= 0 )
? ( $TotalScore{ positive } += $DefinitionList{ $CombiLen }{ $Combi }{ score } )
: ( $TotalScore{ negative } += $DefinitionList{ $CombiLen }{ $Combi }{ score } );
$ProcessedList{ $DefinitionList{ $CombiLen }{ $Combi }{ key } } = 1;
printf " %-4s : ( %3d ) %-20s", $Combi, $DefinitionList{ $CombiLen }{ $Combi }{ score },
$DefinitionList{ $CombiLen }{ $Combi }{ desc };
# Loop for subcat score
print "\t|";
foreach my $SubCat ( sort keys %{ $DefinitionList{ $CombiLen }{ $Combi }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat };
( $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat } );
}
print "<br>//\n";
}
}
}
else
{
if( !exists( $ProcessedList{ $DefinitionList{ $CombiLen }{ $Combi }{ key }} ))
{
( $DefinitionList{ $CombiLen }{ $Combi }{ score } >= 0 )
? ( $TotalScore{ positive } += $DefinitionList{ $CombiLen }{ $Combi }{ score } )
: ( $TotalScore{ negative } += $DefinitionList{ $CombiLen }{ $Combi }{ score } );
$ProcessedList{ $DefinitionList{ $CombiLen }{ $Combi }{ key } } = 1;
printf " %-4s : ( %3d ) %-20s", $Combi, $DefinitionList{ $CombiLen }{ $Combi }{ score },
$DefinitionList{ $CombiLen }{ $Combi }{ desc };
# Loop for subcat score
print "\t|";
foreach my $SubCat ( sort keys %{ $DefinitionList{ $CombiLen }{ $Combi }{ subcat } } )
{
printf "\t%10s =%3d", $SubCat, $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat };
( $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat } >= 0 )
? ( $SubCatScore{ $SubCat }{ positive } += $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat } )
: ( $SubCatScore{ $SubCat }{ negative } += $DefinitionList{ $CombiLen }{ $Combi }{ subcat }{ $SubCat } );
}
print "<br>//\n";
}
}
}
else
{
printf " %-4s : skip\n", $Combi;
$ProcessedList{ $Combi } = 1;
}
}
$Pos++;
}
# Display Total Score
print "<br>\n";
$TotalScore{ positive } = 0 if( !exists( $TotalScore{ positive } ));
$TotalScore{ negative } = 0 if( !exists( $TotalScore{ negative } ));
print ":: Total Score : " . $TotalScore{ positive } . ":" . $TotalScore{ negative } . "<br>\n";
# Display total SubCat scores
print ":: Sub-Cat Score :<br>\n";
foreach my $SubCat ( sort keys %SubCatScore )
{
$SubCatScore{ $SubCat }{ positive } = 0 if( !exists( $SubCatScore{ $SubCat }{ positive } ));
$SubCatScore{ $SubCat }{ negative } = 0 if( !exists( $SubCatScore{ $SubCat }{ negative } ));
printf "\t%10s =%3d:%d", $SubCat, $SubCatScore{ $SubCat }{ positive }, $SubCatScore{ $SubCat }{ negative };
}
print "<br>\n";
}
#----------------------------------------------------------------------------------------------------
# Preparing data
#----------------------------------------------------------------------------------------------------
# Preparing list of extreme numbers
foreach my $NumDigit ( keys %DefinitionList )
{
foreach my $Digit ( keys %{ $DefinitionList{ $NumDigit }} )
{
if( exists( $DefinitionList{ $NumDigit }{ $Digit }{ score } ) &&
( $DefinitionList{ $NumDigit }{ $Digit }{ score } <= EXTREME_SCORE ))
{
push( @ExtremeList, $Digit );
}
}
}
print ":: Extreme Number : " . join( ", ", sort( @ExtremeList )) . "<br>\n";
#----------------------------------------------------------------------------------------------------
# Validation
#----------------------------------------------------------------------------------------------------
my $MSISDN = $ARGV[ 0 ];
print ":: Reading $MSISDN (" . length( $MSISDN ) . ")<br>\n";
# MSISDN validation; e.g., length, format, etc.
if( length( $MSISDN ) != 10 )
{
print "MSISDN needs to have 10 digits<br>\n";
exit 1;
}
elsif( !( $MSISDN =~ /^0/ ))
{
print "MSISDN needs to start with 0<br>\n";
exit 1;
}
#----------------------------------------------------------------------------------------------------
# PASS 1 : Sum of all digits
#----------------------------------------------------------------------------------------------------
print "<br>\n------------------------------------------------------------------------------------------<br>\n";
print ":: PASS 1 - Analyzing sum of all digits<br>\n";
my $SumDigit = 0;
for( my $i = 0; $i < 10; $i++ )
{
$SumDigit += substr( $MSISDN, $i, 1 );
}
print ":: Sum of all digits = $SumDigit : ";
if( exists( $SumDigitList{ $SumDigit } ))
{
print "(" . $SumDigitList{ $SumDigit } . ")<br>\n";
}
else
{
print "meaning of $SumDigit<br>\n";
}
#----------------------------------------------------------------------------------------------------
# PASS 2 : Check for extreme numbers at power position (... XX. XXXX)
#----------------------------------------------------------------------------------------------------
print "<br>\n------------------------------------------------------------------------------------------<br>\n";
print ":: PASS 2 - Analyzing direction\n";
DecodeCombination( substr( $MSISDN, 3 ) );
#----------------------------------------------------------------------------------------------------
# PASS 3 : Start analyzing
#----------------------------------------------------------------------------------------------------
print "<br>\n------------------------------------------------------------------------------------------<br>\n";
print ":: PASS 3 - Analyzing number<br>\n";
print ":: Lookup numbers $MSISDN ...<br>\n";
Lookup( substr( $MSISDN, 3 ));
#----------------------------------------------------------------------------------------------------
# PASS 4 : Overall analyzing
#----------------------------------------------------------------------------------------------------
print "<br>\n------------------------------------------------------------------------------------------<br>\n";
print ":: PASS 4 - General analysis<br>\n";
# Check for 999 & 5
if( substr( $MSISDN, 6, 4 ) =~ /9/ )
{
if( index( $MSISDN, '5' ) == -1 )
{
printf " • %-20s : ( %3d ) %s\n", "9 without 5", $GeneralList{ '9-5' }{ score }, $GeneralList{ '9-5' }{ desc };
}
else
{
printf " • %-20s : ( %3d ) %s\n", "9 with 5", $GeneralList{ '9+5' }{ score }, $GeneralList{ '9+5' }{ desc };
}
}
# Check for last digit (3, 8, 0) - except 63
if( substr( $MSISDN, -1 ) =~ /[380]/ )
{
if( substr( $MSISDN, -2 ) ne '63' )
{
printf " • %-20s : ( %3d ) %s\n", "End with 3, 8, 0", $GeneralList{ 'end380' }{ score }, $GeneralList{ 'end380' }{ desc };
}
}
# Check for last digit 7
if( $MSISDN =~ /7$/ )
{
printf " • %-20s : ( %3d ) %s\n", "End with 7", $GeneralList{ 'end7' }{ score }, $GeneralList{ 'end7' }{ desc };
}
print "<br>\n";