Just as an example, I do a lot of network programming and a few years back went through and added IPv6 support to my modules. IIRC, IPv6 routines (get*info(), inet_ntop/pton()) didn't show up in Socket.pm until around 5.14 and even later for IO::Socket::IP to be included in core. So I have extensive workarounds to "detect" if IPv6 is supported on the version of Perl and then spit a warning / error to upgrade, add Socket6, or whatever the fix would be.
I suppose I could have just bumped the required Perl version in my Makefile.PL, but the IPv4 portion of my modules worked fine and I felt adding IPv6 shouldn't discontinue use of a working IPv4 piece of code on older Perls.
Not sure if that helps or answers your question?