if (lc($_[$n]) eq 'print') { $this->{'sub'}->[$n] = ($n==0 ? \&_print0 : \&_print1); } .. a few lines down .. sub _print0 # Prints a Turtle triple. { my $this = shift; my $element = shift; my $subject = shift; my $pred = shift; my $object = shift; printf("# Triple on element %s.\n", $element->nodePath); printf("%s %s %s .\n", ($subject =~ /^_:/ ? $subject : "<$subject>"), "<$pred>", ($object =~ /^_:/ ? $object : "<$object>")); } .. and so on ..