1. Recursion and Callbacks(fib)

この手の話題で定番のフィボナッチ数列

#!/usr/bin/env perl

use strict;
use warnings;

sub fib {
    my ($n) = @_;

    if ($n == 0 || $n == 1) {
	return 1;
    } else {
	return fib($n-1) + fib($n-2);
    }
}

print fib($ARGV[0]) . "\n";

試しに35ぐらいをしてみると、

[tomopple]~/Program/perl $ time ./fib.pl 35
14930352

real	0m34.384s
user	0m34.270s
sys	0m0.079s

これがmemoizeすることでどうなるか。。。