The "chomp issue" was that you expected chomp to return the chomped string but it instead returns the number of characters chomped.
I don't believe you needed to remove the primary key. I think you had some other issue but that you changed more than one thing at once. If the column values are unique or you are going to select via that column you want an index or unique index. As you started with problems attempting to read from a file with <> I suspect you somehow where reading from stdin and hence it looked like your script was hung. That is why I suggested pressing ctrl/d.
It was suggested you inserted the values as parameters and that is still the best way to do it. As you have it you are having to build a SQL string each time when in fact before your while loop you could simply do one prepare with placeholders and then only call execute inside the while loop. It would also avoid all those quote calls.
Re^3: DBD::ORacle: Not able to insert into Database