sub wanted { return unless -f && -r; if (/\.url$/i) { my $ini = new Config::Ini $_; my $base = $ini->get(['DEFAULT', 'BASEURL']); my $url = $ini->get(['InternetShortcut', 'URL']); my $uri = $base ? URI->new_abs($url, $base) : URI->new($url); print $uri->as_string, "\n"; # or whatever } }