Как всегда, один из лучших подходов к отладке - это print
то, что вы получаете, и проверка того, ожидали ли вы.Это относится и к вашей проблеме.
В вашем случае, если вы print $mechanize->content()
увидите, что вы не получили ожидаемую страницу.YouTube хочет, чтобы вы выполнили редирект JavaScript, чтобы выполнить междоменный вход в систему.У вас есть несколько вариантов здесь:
- анализировать возвращаемый контент вручную - т.е.
/location\.replace\("(.+?)"/
- попытаться выполнить синтаксический анализ вашего кода JavaScript (посмотрите на WWW :: Scripter)
- [рекомендуется] использовать YouTube API для управления входящими сообщениями