I was going to comment on the reason for your problem but I've been beaten to it. However I will make one comment that I make for most questions involving CSV files:
in reply to .csv file in to hash of hashes for a Berkley DB (for a hash newbie)
Do not parse CSV files yourself! Use existing libraries such as Text::CSV, Text::CSV_XS, Tie::CSV_File,Tie::Handle::CSV, anything except do it yourself methods.They will automatically handle quoted fields and other CSV gotchas without you noticing most of the time. Reading CSV files line by line and using split is a poor way of doing things, only to be used in the most basic of circumstances. If someone has done all the difficult stuff for you, take advantage of their hard work.
If you spot any bugs in my solutions, it's because I've deliberately left them in as an exercise for the reader! :-)