http://qs321.pair.com?node_id=376049


in reply to Perl 5.8.? and ParseExcel

The only way I can provoke that warning using pack 'C*', is if the input values are > 255? If that's the case, maybe the module should be using 'U*'.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algoritm, algorithm on the code side." - tachyon

Replies are listed 'Best First'.
Re^2: Perl 5.8.? and ParseExcel
by sth (Priest) on Jul 20, 2004 at 18:40 UTC

    ...Yes, I should have said > 255(unsigned char).

    ..maybe the module should be using 'U*'.

    I think I did see that idea posted, somewhere in all my searching. I will try to change it and see if it works. Any idea why this is occuring with 5.8? Did Unicode not work in 5.6 ?

      Perl's implementation of unicode changed quite a lot between 5.6.x and 5.8.x. It is, so I read, very much improved in 5.8.x but with that improvement came the need for a few non-backwards compatible changes and some extra warnings it seems. I've yet done precious little with it.


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "Think for yourself!" - Abigail
      "Memory, processor, disk in that order on the hardware side. Algorithm, algoritm, algorithm on the code side." - tachyon

        -Thanks for the replies BrowserUk. Right now I put in a hack until I can figure out or find an answer,

        { local *STDERR; open(STDERR, '>/dev/null'); $oBook = $oExcel->Parse($disclaimer) || die "Unable to parse $ +disclaimer"; }

        ..not the right solution, but it works for now.

        Thanks Again, sth

      Well the 'U*' didn't work, the code is parsing the xls file and adding it to a tab in another xls. Spreadsheet::WriteExcel complains about the characters being to wide. I think there has to be something I can set that will avoid this warning. Parse is defaulting to 'C*', because it is not UTF8, as far as I can tell. I saw something about setting LANG=en_us.UTF8. I'll do some more searching, since I really don't know to much about UTF8, in case you haven't noticed. :-)