Text:CSV_XS has a native builtin way to delete trailing and leading whitespace:
my $csv= text::CSV_XS->new ({ binary => 1, allow_whitespace => 1, auto
+_diag => 1 });
But that would not help in this case for two reasons
- It does not strip whitespace inside quotation, but only surrounding sep_char:
allow_whitespace
When this option is set to true, whitespace (TAB's and SPAC
+E's)
surrounding the separation character is removed when parsin
+g. If
either TAB or SPACE is one of the three major characters
"sep_char", "quote_char", or "escape_char" it will not be
considered whitespace.
- Thee whitespace stripped is only space or TAB's, and not non-breaking Unicode space stuff
Spreadsheet::Read however offers to strip leading and trailing whitespace from every field. I could extend that on request to allow it to strip Unicode whitespace too.
strip
If set, "ReadData ()" will remove trailing- and/or leading-
whitespace from every field.
strip leading strailing
----- ------- ---------
0 n/a n/a
1 strip n/a
2 n/a strip
3 strip strip
Enjoy, Have FUN! H.Merijn