Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Adding 2 + 2

by GrandFather (Sage)
on Jan 29, 2007 at 19:57 UTC ( #597155=note: print w/ replies, xml ) Need Help??


in reply to Adding 2 + 2

Look ma, no numbers:

$|++; my $two = $| + $|; print "$two + $two = ", $two + $two;

Prints:

2 + 2 = 4

DWIM is Perl's answer to Gödel


Comment on Re: Adding 2 + 2
Select or Download Code
Re^2: Adding 2 + 2 (digit-less 1)
by ikegami (Pope) on Jan 29, 2007 at 20:46 UTC

    That's really an interesting way of getting 1, not 2. Other interesting ways to get 1:

    my $one = !@!; my $one = !!$]; my $one = /.*/; # Side-effect: Changes $1, etc my $one = $$/$$; my $one = ()=$$; my $one = @{[$$]}; my $one = 'a'^'P'; # Character set specific. my $one = ord('b')-ord('a'); # Character set specific.

    And 2:

    my $two = $one+$one; my $two = $one<<$one; my $two = ()=qw(a a); my $two = @{[ qw(a a) ]}; my $two = ()=/(.*)(.*)/; # Side-effect: Changes $1, etc my $two = 'a'^'S'; # Character set specific. my $two = ord('c')-ord('a'); # Character set specific.

    None of these have side effects unless otherwise noted.
    All of these run under use strict;.
    All of these run silently under use warnings;.

      More (although not as neat):

      my $one = !$|; my $one = cos; # Given that $_ == 0. my $one = cos $|; my $one = cos atan2 $|, cos; my $one = sin atan2 sin, $|; my $one = length $/; # Note: possibly 2 under Windows or DOS. my $one = length $"; my $one = length $;; my $one = length $^L; my $one = $^T/$^T; my $one = @ARGV >= 0; my $one = grep //, ($_); my $one = !undef; # Note: the following may be Unix-only. Will not work if run as root, # as root's UID and GID are (always?) zero. my $one = $</$<; # User ID. my $one = $>/$>; # Effective user ID. my $one = $(/$(; # (Space-separated list of) group ID(s). my $one = $)/$); # (Space-separated list of) effective group ID(s +).

      Ways to get 2:

      my $two = length $:; my $two = $^F; # Note: system-dependent.

      --
      print "Just Another Perl Adept\n";

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (11)
As of 2015-07-05 20:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (68 votes), past polls