use warnings; use strict; use Unicode::UCD 'prop_invlist'; my @invlist = prop_invlist("PosixAlpha"); for (my $i = 0; $i < @invlist; $i += 2) { my $upper = ($i + 1) < @invlist ? $invlist[$i+1] - 1 : $Unicode::UCD::MAX_CP; my @chars = map { chr $_ } $invlist[$i] .. $upper; print join(", ", @chars), "\n"; } __END__ A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z