#!/usr/bin/perl -w use strict; use Series; print "Arithmetic Series: 1,4,7, ... N_{i-1}+3 ...\n"; tie my @arith, 'Series', sub { return 3 + shift }, 1; print shift(@arith)." " for (1..15); print "\n\n"; print "Geometric Series: 1,2,4, ... N_{i-1}*2 ...\n"; tie my @geo, 'Series', sub { return 2 * shift }, 1; print shift(@geo)." " for (1..15); print "\n\n"; print "Combination Series: 2,7,17, ... N_{i-1}*2+3 ...\n"; tie my @combo, 'Series', sub { return 3 + 2 * shift }, 2; print shift(@combo)." " for (1..15); print "\n\n"; print "Fibonacci Numbers: 0,1,1,2,3, ... N_{i-1}+N_{i-2} ...\n"; tie my @fibo, 'Series', sub { my @n = @_; return $n[0]+$n[1] }, 0,1; print shift(@fibo)." " for (1..15); print "\n";