in reply to More Flat-File Database Questions

I wish I could just use the numeric value of the catalog numbers, but the problem is that the numbers go something like this:

Also, there are groups of multiple items, such as 3119-3125, and those don't work so well with the numbering scheme. It looks like I'm pretty much stuck. Basically I guess I need a memory-efficient, quick way to find the line number of the first and last Scott numbers.

However, I am intrigued by this DBD::CSV module. Can anyone who has used it give me some examples that I could use to learn it?

Replies are listed 'Best First'.
Re: Re: More Flat-File Database Questions
by ichimunki (Priest) on Feb 12, 2001 at 21:17 UTC
    With numbers like that you are in a bit of a spot for trying to use them as ordered constraints. Still, though, if your flat file is in the correct order, you can simply start grabbing rows on the first match and then keep grabbing until you get a non-match.

    To use a SQLish DB (even DBD::CSV) if you cannot abandon the catalog numbers and they are not unique to a row, you have a serious issue to solve in terms of assigning a unique ID number to each item at some point and translating the catalog number into the unique ID. If the catalog numbers are class-oriented, then you could assign sets of items a class ID and (with DBD::CSV) use a SQL statement like "select * from tablename where class = 'stamp_type_one' order by catalog_number;" to grab all the rows you're looking for sorted by catalog number.

    The perldoc for DBD::CSV is pretty straightforward, and simple SQL is not so tough that you probably wouldn't be able to pick up most of what you need from just reading the module docs. If not, searching google or about.com for SQL should find you some decent tutorials pretty quickly.