Über HTTP fragt man keine Dateien ab. Ob /…/foo.jpg eine Datei ist, die genau so auf dem Server liegt, oder ob die Daten der Datei in einer Datenbank liegen und der Server bei Anfrage diese ausliest und an den Browser zurückliefert, bleibt allein dem Server überlassen.
-e fragt Dateien ab, die sich lokal auf dem Dateisystem des Rechners befinden, auf dem das Programm läuft.
Du möchtest wissen, ob die URL auf dem Server gefunden wird, sprich einen Status 200 zurückliefert oder andernfalls zum Beispiel den Status 404.
Das kannst du mit LWP::UserAgent: https://metacpan.org/module/LWP::UserAgent
In der Doku dieses Moduls ist gleich am Anfang ein simples Beispiel zu finden.