in reply to Re: Unknown compile error - desperation
in thread Compilation failed, Vendor::Amazon, Vendor::BarnesNoble

I agree that the op probably wants an anonymous reference for the value of the %CONFIG{vendors}, but here's a nit.
Your line "'vendors' => qw(Amazon BarnesNoble) " is assigning a list to a scalar. This will result in the first value (Amazon) being assigned to "vendors"

Actually, it's assigning an odd number of elements to a hash: 'vendors', 'Amazon', 'BarnesNoble' are the last three.