It's been a 100 weeks since the Perl5 to Java compiler started.

The compiler is now "good enough" to translate itself to Java.

# grab a copy of the project $ git clone git@github.com:fglock/Perlito.git ; cd Perlito $ make clean # create the "perlito5.java" file $ perl perlito5.pl --bootstrapping -Isrc5/lib -Cjava src5/util/perlito5.pl > perlito5.java # compile to ".class" $ time javac -J-Xms2000m -J-Xmx2000m -J-Xss2000m -source 7 perlito5.java [ scary warnings ] # create the perlito5.jar file $ jar -cfe perlito5.jar Main *.class # quick check $ java -jar perlito5.jar -v This is Perlito5 9.021, an implementation of the Perl language. # run a test $ java -jar perlito5.jar --bootstrapping -Isrc5/lib -Cjava t5/unit/array.t > x.java ; javac -source 7 x.java ; java Main [ scary warnings ] 1..35 ok 1 - create array ok 2 - set element ... # test the bootstrapping $ java -jar perlito5.jar --bootstrapping -Isrc5/lib -Cjava src5/util/perlito5.pl > x.java $ diff x.java perlito5.java [ no differences ]

The "--bootstrapping" flag tells the compiler that eval-string is not available. Eval-string is not yet implemented.