.namespace [ "MyPerlClass" ] .sub "__onload" :load .local pmc klass newclass klass, "MyPerlClass" .return () .end .sub foo $S0 = "MyPerlClass::foo" .return($S0) .end .sub bar $S0 = "MyPerlClass::bar" .return($S0) .end #### .namespace [ "MyJavaClass" ] .sub "__onload" :load .local pmc klass $P0 = getclass "MyPerlClass" # load the Perl class subclass klass, $P0, "MyJavaClass" .return () .end .sub output .local pmc System .local pmc String $S0 = self.foo() $S1 = self.bar() concat $S2, $S0, $S1 # assume that the Java # standard libraries exist System = getclass "java.lang.System" String = getclass "java.lang.String" # assume that a String object can be # constructed from a native Parrot string $P0 = String.new($S2) $P1 = System.out() $P1.println($P0) .return () .end