#################### # CounterClockwise # ##################################### $A = "SPACE"; @A = split //, $A; print "***********************************************\n\n"; # CIRCULAR ARRAY for $m ( 0 .. $#A ) { for $i ( 0 .. $#A ) { print "$A[ ( $i + $m ) % ( $#A + 1 ) ]"; } print "\n"; } print "***********************************************\n\n"; $A = "SPACE"; $B=""; for $i ( 0..length( $A )-1 ) { print substr($A,$i).substr($A,0,$i)."\n"; } ############# # Clockwise # ####################################### # CIRCULAR CHOP $A = "SPACE"; $B=""; for ( 0..length($A)-1 ) { $B = (chop $A).$B; print "$B$A\n"; } print "***********************************************\n\n"; # CIRCULAR CHOP ( basically the same as the last ) $A = "SPACE"; $B=""; for ( 0..length($A)-1 ) { substr($B,0,0) = chop $A; print "$B$A\n"; }