in reply to derangements
Couldn't resist having a go at something that fits my way of thinking:)
#! perl -slw use strict; our $orig; sub deranged{ my ( $ary, $ref, $n ) = @_; ($orig ^ $$ref) !~ m[\0] and push( @$ary, $$ref ) , return unless +--$n; deranged( $ary, $ref, $n ) , $$ref =~ s[^(.{ $n })(.)(.*?)$][$2$1$ +3] for 0 .. $n; $ary; } $orig = $ARGV[0]; my $ary = deranged( [], \$ARGV[0], length $ARGV[0] ); print $_ for @$ary;
|
|---|