#!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use List::Util qw(shuffle); my $sequence = "CTGCAC"; # chomp(my $sequence = ); my @data; push @data, $1 while ($sequence =~ /(.{1,3})/msxog); print Dumper \@data; my @random = shuffle @data; print Dumper \@random; __END__ $ perl test.pl $VAR1 = [ 'CTG', 'CAC' ]; $VAR1 = [ 'CAC', 'CTG' ]; #### #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use List::Util qw(shuffle); my $sequence = "CTGCAC"; # chomp($sequence = ); my @trips = unpack("(A3)*", $sequence); print Dumper \@trips; my @shuffled = shuffle @trips ; print Dumper \@shuffled; __END__ perl test.pl $VAR1 = [ 'CTG', 'CAC' ]; $VAR1 = [ 'CAC', 'CTG' ];