$ perl -Mstrict -Mwarnings -E ' say join q{}, map { substr $_, -1 } sort sub { my $s = shift; my @r; push @r, do { $s = chop( $s ) . $s; $s; } for 1 .. length $s; return @r; }->( q{BANA$} );' ANB$A $