I never realized until recently how hard something like this is. People do not want to move. People that hear about your job post usually have some reason to have heard about your job post, like they can't program at all and their last employer finally figured it out. Unfortunately, you can't know this until they show up and you ask them a few questions about Perl. (I love how one candidate tried to BS me on a basic…
I have an almost diametrically opposed experience. I have good Perl skills, and 8+ years experience, and can't get Perl work in Sydney Australia, primarily due to the fact that recruiters looking for Perl devs here don't know anything about Perl tech. The few Perl dev jobs I've interviewed for and taken have relied on unbelievably basic programming tests.
You also mention location specificity -- this hurts employees and employers. Employees don't want to relocate, and employers don't want the communication barrier that telecommuting raises. (And FWIW, having telecommuted at an all-telecommute company... it kind of sucks on both ends.)