Я бы, наверное, взял очередь
https://metacpan.org/pod/Minion, подключил бы ее в sqlite базу, сделал бы задачку для очереди которая по домену узнает expire date и записывает его в базу (тоже в sqlite) ну и мелкий скрипт, который прошел бы по изначальному файлу и создал 10_000 задач в очереди. Ну и плюс скрипт проверки, который запускаешь когда все отработало, чтобы проверить что про все домены из изначального списка есть ответ.
Хотя 10_000 это очень немного. Может быть тут очередь и лишнее звено. Думаю что можно за два для все выкачать с одной машины — где-то половину за день, потом получаешь denied, а через 24 часа когда denied уберут можно и вторую половину докачать с этого же айпишника.
Наверное, я бы для такого количества с прокси бы изначально не заморачивался (хотя нужно лучше понимать задачу, чтобы точнее выдать ответ — это нужно сделать единоразово или эту работу нужно переодически повторять)
PS и наверняка есть сервис куда можно залить эти 10_000 доменов и за небольшую денежку он тут же выдаст все expire date.