#!/usr/bin/perl -w #Compute pi. Based on Leibniz's algorithm that # pi = 4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11... use strict; my $pi = 4; my $next_digits = get_leibniz(); for ( 1 .. 100000 ) { my ( $subtract, $add ) = &$next_digits; $pi = $pi - $subtract + $add; } print $pi; sub get_leibniz { my $index = 1; my $sub = sub { $index += 2; my $first = 4/$index; $index += 2; my $second = 4/$index; return ($first, $second); }; return $sub; }