in reply to dbi::CSV works with text, but not numbers

I've also used dbi:CSV before and it is way cool. I think stevieb's comments are completely right and that this will solve your problem.

At some point, you may find that the CSV DB doesn't fit your needs in terms of features or performance. If that happens, I would recommend SQLite. And also check out SQlite Manager for Firefox. SQLite does a lot of what MySQL can do but without the admin hassle. In a multi-process environment, SQLite requires that an exclusive lock be acquired to update the dB for a write. So performance is not the same for writes, but for reads, this thing works fantastic! For complex operations, I found that you can dynamically vary the amount of memory that SQLite uses. That kind of fine tuning can have a big performance impact.

Update: The reason that SQLite is so cool is that it uses a simple file for its work (rough comparison to DBD CSV) So it does not require a server to be running (along with the admin hassles with that).

  • Comment on Re: dbi::CSV works with text, but not numbers

Replies are listed 'Best First'.
Re^2: dbi::CSV works with text, but not numbers
by Sandy_Bio_Perl (Beadle) on May 20, 2016 at 10:12 UTC

    Thank you Marshall. I'll give SQLite a try

      I also highly recommend the Firefox add-in in my original post. That thing is amazingly good! I just installed it on this Windows laptop that I'm using... Since Mozilla uses .sqlite files, you will be able to select under directories, say, cookies.sqlite.

      Under structure, it will tell you how that table was created:

      CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, baseDomain TEXT, ori +ginAttributes TEXT NOT NULL DEFAULT '', name TEXT, value TEXT, host T +EXT, path TEXT, expiry INTEGER, lastAccessed INTEGER, creationTime IN +TEGER, isSecure INTEGER, isHttpOnly INTEGER, appId INTEGER DEFAULT 0, + inBrowserElement INTEGER DEFAULT 0, CONSTRAINT moz_uniqueid UNIQUE ( +name, host, path, originAttributes))
      Anyway if you have Firefox, you already have some SQLite DB's on your machine.