Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

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

-Blake

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

      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

        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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2019-10-18 23:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?