use bigint; my $num = 111111555555123456; my @array; while( $num ){ unshift @array, $num % 1_000_000; $num /= 1_000_000; } print "@array\n";