Sto iterando attraverso un elenco di collegamenti su una pagina, creando un oggetto URI per ciascuno. Quando viene creato l'oggetto URI, non so se l'URL ha uno schema, così quando ho poi chiamo $uri->host()
, io a volte ottenereCome posso verificare se posso chiamare host() su un oggetto URI in Perl?
Can't locate object method "host" via package "URI::_generic" at -e line 1.
perché l'oggetto URI è di tipo URI::_generic
, e doesn avere un attributo host()
Potrei controllare prima della creazione dell'oggetto con espressioni regolari, oppure potrei avvolgere la chiamata $uri->host()
in un blocco eval
per gestire l'eccezione, ma immagino che ci debba essere un metodo più soave rispetto a uno di questi.
Non ho mai nemmeno saputo del metodo -> can() per gli oggetti, grazie! –
Hai una risposta ineguagliata nella tua say(). – Ether