#! /usr/bin/perl -w use strict; if($#ARGV != 1) { print "Useage: generate.pl \n"; exit; } my $initialNumber = $ARGV[0]; my $i = 0; while($i < $ARGV[1]) { my $num = doSequence($initialNumber); print $num . "\n"; $initialNumber = $num; $i++; } sub doSequence { my ($number) = (@_); my $count = 0; my $returnVal = ""; my $currentToken = ""; foreach my $item (split("",$number)) { if($item eq $currentToken || $currentToken eq "") { $currentToken = $item; $count++; } else { $returnVal .= $count . $currentToken; $currentToken = $item; $count = 1; } } return $returnVal . $count . $currentToken; }