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$/