my $confs = '...'; #### my @array1 = (1, 2, 3); my @array2 = '1, 2, 3'; #### my (@array1, @array2); my $elements_for_array = '1, 2, 3'; push @array1, 1, 2, 3; # @array1 has three elements push @array2, $elements_for_array; # @array2 has one element #### #!/usr/bin/env perl -l use strict; use warnings; my @filenames = qw{ MOLEC8-B040-OPT-FREQ2.gout MOLEC1-B001-OPT-FREQ2.gout MOLEC2-B010-OPT-FREQ2.gout MOLEC10-B002-OPT-FREQ2.gout }; my $re = qr{^[^-]+-([^-]+)}; my @sorted = sort { ($b =~ /$re/)[0] cmp ($a =~ /$re/)[0] } @filenames; print 'Original filenames:'; print for @filenames; print 'Sorted filenames:'; print for @sorted; #### Original filenames: MOLEC8-B040-OPT-FREQ2.gout MOLEC1-B001-OPT-FREQ2.gout MOLEC2-B010-OPT-FREQ2.gout MOLEC10-B002-OPT-FREQ2.gout Sorted filenames: MOLEC8-B040-OPT-FREQ2.gout MOLEC2-B010-OPT-FREQ2.gout MOLEC10-B002-OPT-FREQ2.gout MOLEC1-B001-OPT-FREQ2.gout