Like other people have said, getting a telecommuting job is not easy. That being said, over the past several years I've done several large contract jobs via telecommuting. Of my telecommuting gigs, one of them is for my previous employer, of whom I used to be a salaried employee, so they know my abilities quite well, and they trust me.
The others came about primarily through other Perl folks I know, because of my reputation in the Perl community for my work on free software projects like Mason, Alzabo, and others. Word of mouth and networking is a huge factor in getting jobs in general, and is doubly important when you're asking an employer you don't know directly to hire you as a telecommuter.
So I think the answer is this. Either get a regular office job, and then renegotiate, or alternately, try to build up a reputation for technical excellence in the Perl community by participating in FS/OS projects. The latter is a great way to build your skills and you reputation at the same time.