To reverse engineer a system like YaCy
, programming skills, even in both languages (Perl and Java), will not be sufficient. Much more important is knowledge of the underlying concepts (as opposed to the concepts that your search engine is to search/find) and understanding how they are connected.
Why? Simply because the two languages differ in their concepts, and translating it 1:1 would result in a behemoth.
Most probably the structure of YaCy is dictated (at least partially) by the structures that Java supports best, which are not necessarily those a Perl programmer would even consider. There might be similiar - but not the same - libraries for both languages. And so on.
While writing this, I stumbled over A Tagcloud For Cory Doctorow, P2P Homework and Lucy, which might be not usable, but interesting in this context.