It sounds like you have a pretty good idea. If all your scripts follow the same format, and the only differences are config (which server to connect to, which files to process, which database tables to insert into), and the single process_line() function, it sounds like you've got a need for making a parent class, which of course sets up the db/ftp/connections and whatnot (possibly from command line options or config files), and does most of the rest of the work. Each of your children modules will simply inherit from the base class and define a process_line() function. So that will be the only difference, module-to-module.
It doesn't even sound like you have a need for separate scripts, you can simply have one script which also takes an argument for which child script it will activate, like:
my_script.pl --type=WSB