in reply to Trying to learn something about obfuscation

Start by breaking it down. Remember that y/// is the same as tr///.

Looking at perlvar we see that $; is $SUBSCRIPT_SEPARATOR, $^ is $FORMAT_TOP_NAME, $" is $LIST_SEPARATOR, $& is $MATCH and $/ is $INPUT_RECORD_SEPARATOR.

So what do we have now?

use English; die $SUBSCRIPT_SEPARATOR!~tr//.-~/c.$SUBSCRIPT_SEPARATOR. ([$FORMAT_TOP_NAME=~/./g]&~$LIST_SEPARATOR). $MATCH.($SUBSCRIPT_SEPARATOR&{}).$INPUT_RECORD_SEPARATOR

That should as clear as mud :)