Przejmuję listę linków na stronie, tworząc obiekt URI dla każdej z nich. Gdy obiekt URI jest tworzony, nie wiem, czy adres URL ma schematu, więc kiedy później zadzwonić $uri->host()
, będę czasamiJak mogę sprawdzić, czy mogę wywołać host() na obiekcie URI w Perlu?
Can't locate object method "host" via package "URI::_generic" at -e line 1.
ponieważ obiekt URI jest typu URI::_generic
, i nie robi nie ma atrybutu host().
Mogłem sprawdzić przed utworzeniem obiektu za pomocą wyrażenia regularnego, lub mogłem owinąć wywołanie $uri->host()
w bloku eval
, aby obsłużyć wyjątek, ale sądzę, że musi istnieć bardziej odpowiednia metoda niż jedna z nich.
Nigdy nie wiedziałem o metodzie -> can() dla obiektów, dzięki! –
Masz niezrównane połączenie "in your say()". – Ether