http://qs321.pair.com?node_id=108714

System.out.print("Just another perl hacker?");

Just try it! :)

Replies are listed 'Best First'.
Re: Did I say perl?!
by blakem (Monsignor) on Aug 29, 2001 at 13:14 UTC
    I can deconstruct this one.....

    System() . out() . print ("Just another perl hacker?");

    Very clever, though it doesn't stand a chance under use strict

    -Blake

      Not quite. In fact perl -MO=Deparse will tell you what it was compiled into.

      'Systemout' . print('Just another perl hacker?');

      And -w would have given you a few answers:

      Unquoted string "out" may clash with future reserved word.
      Useless use of concatenation in void context.

      Whereas use strict; misguided you by making reference to strict subs.

        So is this one of those instance where perl will do different things based on what subs are defined?

        When I try:

        #!/usr/bin/perl -w use strict; sub System { print "System\n"; } sub out { print "out\n"; } System.out.print("Just another perl hacker?");
        I get no errors and it prints both "System" and "out"....

        Update:

        #!/usr/bin/perl # comment out these two lines to change meaning of construct in main sub System { return "SystemSub " } sub out { return "OutSub " }; my $val = main(); print "\n'$val'\n"; sub main { System.out.print("Just another perl hacker?"); }

        -Blake