+1

"count" can possibly be complemented or replaced with occurrence as suggested.
It'd be nice to be able to denote last occurrence [-1].
And I suppose the indexing should be based on ordinary perl subscript indexing 
- i.e. governed by the value of special variable $[

$field->delete_subfield( code => $code,      # of course
                         occur => [0,2,3],   # "occur" or "pos" or whatever...
                         match => qr/pat/,   # doesn't need to be repeatable
                       );

Leif
======================================
Leif Andersson, Systems Librarian
Stockholm University Library
SE-106 91 Stockholm
SWEDEN
Phone : +46 8 162769 
Mobile: +46 70 6904281



-----Ursprungligt meddelande-----
Från: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Brad
Baxter
Skickat: den 1 maj 2006 22:21
Till: Bryan Baldus
Kopia: perl4lib
Ämne: Re: Deleting a subfield using MARC::Record


On 5/1/06, Bryan Baldus <[EMAIL PROTECTED]> wrote:
> On Monday, May 01, 2006 1:24 PM, Brad Baxter wrote:
> >On 4/30/06, Edward Summers <[EMAIL PROTECTED]> wrote:
> >[snip]
> >> # delete first two subfield u
> >> $field->delete_subfield(code => 'u', count => 2);
> >
> >I don't think I like it this way.  How would you delete just
> >the second one?
> >I'd rather see 'count' mean 'occurrence', so the above would mean
> >delete the second subfield u.  And ...
> >
> ># delete second and third subfield u
> >$field->delete_subfield(code => 'u', count => 2, count => 3);
> >
>
> When I looked at it, I also wondered about 'count' being 'position' or
> something like that, to be able to note which occurrence. It might be useful
> to have both--if you know it is always the 1st 2 occurrences of the
> subfields, use 'count', but if you know it is the 1st and 3rd, then use
> 'position' or 'occurrence'.
>
> examples:
> #remove 1st 2 subfield 'u'
> $field->delete_subfield(code => 'u', count => 2);
>
> #remove 1st and 3rd subfield 'u'
> $field->delete_subfield(code => 'u', occurence => (0, 2)); #or (1, 3)
>
> #remove last subfield u
> $field->delete_subfield(code => 'u', occurence => (-1));
>

I guess those work for me, as long as it's 'occurrence'.  :-)
Or perhaps just 'occur'.
(If we allow -1, then I agree it should start at 0.)

--
Brad

Reply via email to