Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Did I say perl?!

by blakem (Monsignor)
on Aug 29, 2001 at 13:14 UTC ( #108716=note: print w/replies, xml ) Need Help??

in reply to Did I say perl?!

I can deconstruct this one.....

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

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


Replies are listed 'Best First'.
Re: Re: Did I say perl?!
by BooK (Curate) on Aug 29, 2001 at 14:32 UTC

    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"....


      #!/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?"); }


        Yes, this is called the "poetry optimization" since its reason for existing was partly to make it easier to write poetry in Perl.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://108716]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2023-09-30 12:28 GMT
Find Nodes?
    Voting Booth?

    No recent polls found