Web リンクから開いている JSON ファイルに問題があります。ローカルの kml ファイルを開くために使用したものからコードを調整したので、問題は perl が json を処理したり、オンライン ファイルを開いたりする別の方法である可能性があります...?
'$input{place}' は私の html フォームから来ています
$inputname = $input{place};
$sjson ="http://api.geonames.org/searchJSON?q=$inputname&maxRows=1&username=rsgs";
open INPUT, "<$sjson";
$sjsoncont.=<INPUT>;
close INPUT;
$sjsoncont を印刷してテストすると、空ですか? なんで?