Я просто быстро проверил feature.pm
код - сама версия нигде не сохраняется.Ответ Алекса уже показал, как тестировать определенные функции, являющиеся результатом вызова.
Также обратите внимание, что use VERSION
можно вызывать в нескольких местах (например, в модулях).
Один гипотетический вариант будетпереопределить use
и записать номер версии где-нибудь для проверки.
Редактировать: Некоторые рывки в направлении крючка:
use version; # for version parsing
use subs 'require';
BEGIN {
sub require {
warn "use ",version->parse($_[0]);
# ... emulate original require
};
}
use 5.12.0;
Этот ограниченный пример сообщаетуказана версия, но для реального использования она должна быть намного более надежной.