package PolyUniCharClass; use strict; use warnings; { my %char_class_despatch = ( InThaiHCons => \&InThaiHCons, InThaiLCons => \&InThaiLCons, ); sub list { my ($char_class) = @_; unless (exists $char_class_despatch{$char_class}) { warn "Char class '$char_class' doesn't exist!\n"; return []; } return [ map chr hex, @{$char_class_despatch{$char_class}->()} ]; } } sub InThaiHCons { return [qw{0E02 0E03 0E09}]; } sub InThaiLCons { return [qw{0E04 0E07 0E0A}]; } 1;