Пожалуйста, внимательно рассмотрите предложение Иржи Клуды, чтобы вы отступили и пересмотрели то, что вы пытаетесь достичь. Вы почти никогда не хотите делать то, что пытаетесь сделать.
Но, если вы действительно уверены, что хотите этого, вот как получить достаточно чистого Perl-каната, чтобы повеситься ...
Прагма subs принимает список подимен для предварительного объявления. Как говорит выше tchrist, вы можете предварительно объявить сабвуферы, но на самом деле никогда не определяете их. Это приведет к короткому замыканию метода, передаваемого суперклассам, и немедленно вызовет ваш AUTOLOAD.
Что касается списка имен, передаваемых в прагму, вы можете использовать Class :: Inspector-> method (благодаря ответу Nic Gibson за то, что вы рассказали мне об этом модуле ).
Согласно комментарию Брайана Д. Фоя к ответу Ника Гибсона, Class :: Inspector не будет обрабатывать методы, определенные в UNIVERSAL. Если вам нужно сделать это отдельно, вы можете получить вдохновение от строки 'use subs' в моем модуле Class :: LazyObject .