Why you would ever need anything more than one statement to do anything I'll never know. Maybe I'm just too lazy to use semicolon and spaces...

#!/usr/bin/perl -w use strict; print(sort{($a=~/^J/)||($a=~/.\s./&&$b=~/^J/)||($a=~/^n/&& $b=~/^J|.\s./)||($a=~/^h/&&$b=~/^J|.\s.|^n/)||($a=~/^\s/&& $b=~/^J|.\s.|^n|^h/)||($a=~/^r/&&$b=~/^J|.\s.|^n|^h|^\s/)|| ($a=~/^H/&&$b=~/^J|.\s.|^n|^h|^\s|^r/)||($a=~/^k/&& $b=~/^J|.\s.|^n|^h|^\s|^r|^H/)?1:-1;}"ker","t\x20A","\x20Pe", "not","Hac","Jus","her","rl\x20")&&print$/