perl 5.6.0 has, in Configure: : Sanity checks case "$fastread$alldone" in yescont|yesexit) ;; *) if test ! -t 0; then echo "Say 'sh Configure', not 'sh <Configure'" exit 1 fi ;; esac where the check for $fastread being yes and $alldone being cont and exit to disable the check is relatively new. This check is still to strict; it should also be disabled in the case of "./Configure -S".