Simple test in my local build environment: noether:/ # rpm -q --whatprovides 'perl(Unicode::Collate)' perl-5.32.1-1.1.x86_64 perl-Unicode-Collate-1.29-26.10.x86_64 noether:/ # rpm -q --provides perl-5.32.1-1.1.x86_64 | grep Unicode::Collate perl(Unicode::Collate) = 1.27 perl(Unicode::Collate::CJK::Big5) = 1.27 perl(Unicode::Collate::CJK::GB2312) = 1.27 perl(Unicode::Collate::CJK::JISX0208) = 1.27 perl(Unicode::Collate::CJK::Korean) = 1.27 perl(Unicode::Collate::CJK::Pinyin) = 1.27 perl(Unicode::Collate::CJK::Stroke) = 1.27 perl(Unicode::Collate::CJK::Zhuyin) = 1.27 perl(Unicode::Collate::Locale) = 1.27 noether:/ # rpm -q --provides perl-Unicode-Collate-1.29-26.10.x86_64 | grep Unicode::Collate perl(Unicode::Collate) = 1.29 perl(Unicode::Collate::CJK::Big5) = 1.29 perl(Unicode::Collate::CJK::GB2312) = 1.29 perl(Unicode::Collate::CJK::JISX0208) = 1.29 perl(Unicode::Collate::CJK::Korean) = 1.29 perl(Unicode::Collate::CJK::Pinyin) = 1.29 perl(Unicode::Collate::CJK::Stroke) = 1.29 perl(Unicode::Collate::CJK::Zhuyin) = 1.29 perl(Unicode::Collate::Locale) = 1.29 that is that perl -e 'use Unicode::Collate 1.29' should not and does not fail