in reply to Why do I need 'use 5.010;' ahen I am running '5.24'

> 'say' will not work until I declare "use 5.010"

5.10 is the minimum version you need, but you can as well specify

use 5.024;

but it would be impolite to other users of your code who run on 5.10 - 5.22, as they can run say, but wouldn't be able to run your code.

My recommendation is to always specify the features you use: it works in all the versions, and you don't have to look up what feature was introduced in what version.

use feature qw{ say };

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,