That might be something that could go into MARC::Descriptions.... another hash 
element to indicate punctuation.  Then MARC::Field wouldn't have to worry 
about it :-)  

as_string() could check if MARC::Descriptions is available, and if so add any 
available punctuation.  If not, just do it the current way....?

I'm willing to tweak up MARC::Descriptions if someone can point me to a 
"proper punctuation" guide.

-David

On Wednesday 25 February 2004 09:26 am, Andy Lester wrote:
> > I'm using as_string() in Marc::Batch to get 650 fields and mash all the
> > subfields together so I can push them into a database.  Works great, but
> > what I'd really like to do is have fields such as:
> >
> > "Health Services Canada."
> >
> > appear as
> >
> > "Health Services -- Canada."
>
> Well, it's MARC::Field that is doing the as_string().
>
> The dashes between the a, x, y and z is bringing me back to 1991 when I
> was working on the punctuation for the CardMaster Plus product for
> Follett Software.  What I had to do back then was create a big table
> that summarized the AACR2 rules as best as possible.  It was big mess,
> with certain punctuation coming before certain fields, and some after.
> For example, in your "Health Services -- Canada", the " -- " isn't after
> the _a subfield, but rather that it's before the _x.
>
> All that was in C, before object-oriented programming (at least in
> our shop), so these days we'd probably have a MARC::Field::650 subclass
> that overrides the as_string() method.  That could get pretty hairy for
> all the potential tags running around, especially since 600 and 650 and
> a good many other 6xx tags would be similar.
>
> I'm open to ideas.
>
> xoa

Reply via email to