Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Golf: Adding up array elements

by ambrus (Abbot)
on Nov 03, 2005 at 09:02 UTC ( [id://505261]=note: print w/replies, xml ) Need Help??


in reply to Golf: Adding up array elements

This is not exactly golf, and works only for nonnegative integers.

#!perl use warnings; use strict; { my $adder = ' G s/^ *\([0-9]*\) *\n\([0-9]*\)$/0\1pm0\2nb0/;td;d; :d;s/n\(\(b\).*0\|\)[^0]*$/nb98765432109876543210a0123456789\2 +/; s/\(.\)\(p.*\)\(.\)\(n.*\1\).*a.*\3/\2\4\3/; s/^0*\(.*\)p\(.*m\)0*\(.*\)\(.\).\{11\}$/0\1p\4\20\3/; /m0*n.*0/!bd; s/^\(.*\)p\(.*\)m.*/\1\2/;s/^0*//; h;$!d '; $adder =~ s/;/\n/g; # some seds don't like semicolons sub printsum { open my $SED, "|-", "sed", $adder or die "error running sed: $ +!"; print $SED int($_), "\n" or die "error writing to sed: $!" for @_; close $SED or die "error closing sed: $!"; } } my @array = (1,3,5,6); printsum(@array); __END__

Update 2007-12-06: see Re^2: --- adding a column of integers

Update 2011-10-29: see also (almost) foldl.

Replies are listed 'Best First'.
Re^2: Golf: Adding up array elements
by kwaping (Priest) on Nov 03, 2005 at 15:59 UTC
    Not golf at all, but an excellent obfuscation! :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-03-29 02:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found