#!/usr/bin/perl use warnings; use strict; use charnames qw(); for my $c (0x0000 .. 0xD7FF, 0xE000 .. 0xFDCF, 0xFDF0 .. 0xFFFD, 0x1_0000 .. 11_0000 ) { my $s = pack 'U', $c; if ($s =~ /\d/) { printf ("%5d %5x %s %s\n", $c, $c, $s, charnames::viacode($c)); } }