#!/usr/bin/perl use strict; use warnings; sub run{ my $last = 1; print( "$last\n" ); $last = runcont( $last ); } sub runcont{ my $last = $_[0]; my $num; if( $last < 3 ) { $last += 1; print( "$last\n" ); $last = runcont( $last ); return $last; } if( $last >= 3 && $last < 6 ) { $num = int( rand( 6 ) ); if( $num == 0 ) { $last -= 2; print( "$last\n" ); $last = runcont( $last ); return $last; } if( $num == 1 ) { $last -= 1; print( "$last\n" ); $last = runcont( $last ); return $last; } if( $num == 2 || $num == 3 ) { $last += 1; print( "$last\n" ); $last = runcont( $last ); return $last; } if( $num == 4 || $num == 5 ) { $last += 2; print( "$last\n" ); $last = runcont( $last ); return $last; } } if( $last >= 6 ) { $last+= 1; print( "$last\n" ); if( $last != 8 ) { $last = runcont( $last ); } return $last; } } run();