Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^2: trouble with text::csv

by BernieC (Pilgrim)
on Dec 05, 2021 at 15:44 UTC ( [id://11139405]=note: print w/replies, xml ) Need Help??


in reply to Re: trouble with text::csv
in thread trouble with text::csv

Since I'm an ISO-latin kinda guy and I find unicode a bother. Why didn't this work?
open ($if, "<", $dbfile) or die "Can't open $dbfile: $!\n" ; seek($if, 3, 0) ; [...]
Shouldn't that have just skipped over the BOM and left me with a vanilla text file on $if for the CSV stuff to read? {it didn't :(} There seems to be some magic/nuisance going on that I don't understand.

Replies are listed 'Best First'.
Re^3: trouble with text::csv
by LanX (Saint) on Dec 05, 2021 at 15:47 UTC
    No idea what you mean with ISO Latin, there are many

    And how do you know? Do you even have any bytes >127?

    Please note that ASCII, utf8 and most other encodings are identical with bytes <128.

    It's perfectly possible to have an utf8 encoded file which is plain ASCII.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

Re^3: trouble with text::csv
by BernieC (Pilgrim) on Dec 05, 2021 at 15:51 UTC
    One other thing is that I don't use CSV to handle the headers -- my ONLY use of the CSV module is to read a line from the file and break its fields into an array. I know this is kinda dumb considering that if I were cleverer CSV could do most all of my work but it is really only about an eight line, simple program with CSV parsing the lines into fields. I'm tempted to abandon CSV entirely and just write a routine that will take a line of csv data and burst it directly
      > I'm tempted to abandon CSV entirely and just write a routine that will take a line of csv data and burst it directly

      good luck with quoting rules and embedded separators.

      The real problems seems to be that you don't really get the difference between ISO encodings and UTF8 and that ASCII is a subset of all of them and you keep guessing.

      The exporter you used was configured to deliver an UTF8 encoded file with a BOM.

      If the actual characters are only in the ASCII range you won't face any other problems. If there where really any characters encoded in "ISO-Latin-1" like ä or è you should be capable to tell right away. (UTF8 will require 2 not 1 byte for them)

      FWIW: As a workaround: you should be able to read the whole file into a string, strip the first 3 characters and open a filehandle to that string.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11139405]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-19 13:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found