On May 13, Rajarshi Das said:

PVA.pl (PVA stands for Property Value Aliases) is a runtime file for unicode which is generated by the
mktables utility using the file lib/unicore/PropValueAliases.txt.


One of the properties in PropValueAliases.txt is EastAsianWidth for which 'A' is a value which stands for 'Ambiguous'.

The file PVA.pl (which is also in lib/unicore) contains a PVA_abbr_map. This contains a sequence of property aliases ('ea' for EastAsianWidth, 'jt' for JoiningType and so on) and their corresponding values.

The test that I run uses a hash (%utf8::PVA_abbr_map) and reads each of these property values in sequence (as it is listed under PVA_abbr_map in PVA.pl ).

But perl -d <testname> iterates through a couple of property names (and their values) but exits before the property 'ea' is picked up from PVA_abbr_map.

I changed the order of propertynames in PVA_abbr_map (in PVA.pl), but perl -d still continues to follow the original sequence of property names and exits before 'ea' is used.

Please let me know if some other details are required.

Hi, I'm the author of changes to Perl's Unicode system that ended up creating the hashes you're talking about.


First of all, it's very difficult to determine the order in which keys will be returned from a hash, because you'd have to calculate Perl's hashing algorithm for each key in order that you placed them in the hash, figure out when the hash gets re-optimized, etc.

Second, do you know how this test is failing to recognize the 'ea' abbreviation?

I might be able to help, but we'd have to see some sample code that demonstrates the problem.

--
Jeff "japhy" Pinyan         %  How can we ever be the sold short or
RPI Acacia Brother #734     %  the cheated, we who for every service
http://japhy.perlmonk.org/  %  have long ago been overpaid?
http://www.perlmonks.org/   %    -- Meister Eckhart

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to