On Tue, May 11, 2004 at 03:01:30PM -0700, Jeff Zucker wrote:
> leegold wrote (off list):
>
> >So, something like:
> >
> >$dbh->{csv_sep_char}='###';
> >
> >would work, you think?
>
> Hi,
>
> First, please respond to the list rather than to an individual. The
> individual might be busy :-). Also, if the answer is on the list, then
> everyone can learn from it.
>
> The {csv_sep_char} is a *character* so it could accept '#', but not
> '###'. DBD::AnyData allows you to create your own formats though. If
> you don't have embedded '###' in your data, then this simple three line
> module will allow DBD::AnyData to parse files with '###' as a field
> separator. Just Save this file under the name 'ThreeSharp.pm' in the
> AnyData/Format directory where your copy of AnyData is located:
>
> package AnyData::Format::ThreeSharp;
> use base 'AnyData::Format::Base';
> sub write_fields { shift; sprintf "%s\n",join '###',@_ }
> sub read_fields { split '###', $_[1] }
Should probably be split '###', $_[1], -1
otherwise trailing empty fields will be removed.
Tim.