You have a list? Join all the lines into a single, space-separated line and put that on the
cpan command line instead of running
cpan as an interactive shell. Or maybe multiple lines, given that you have 2000 package names and a single line of that length may exceed your OS's/shell's limits, but that's still suitable for a shell script that just runs the
cpan commands one after the other.
cpan CPAN Foo::Bar Baz Xyzzy Acme::Frotz...
You'll obviously also want to configure cpan to not ask questions about following dependencies and so forth before doing this, if that isn't how you normally have it configured in the first place.