in reply to Aid for regex expression

#!/usr/bin/perl # http://perlmonks.org/?node_id=1206433 use strict; use warnings; use List::Util 'shuffle'; use Data::Dump 'pp'; my @before = shuffle qw( namem1100.111 namem0900.111 namem0010.111 namep0000.111 namep0800.111 namep9999.111 ); pp \@before; my @after = sort { $a =~ s/.*([pm]\d+).*/$1/r =~ tr/pm/+-/r <=> $b =~ s/.*([pm]\d+).*/$1/r =~ tr/pm/+-/r } @before; pp \@after;

Outputs:

[ "namem0900.111", "namep9999.111", "namem1100.111", "namep0800.111", "namep0000.111", "namem0010.111", ] [ "namem1100.111", "namem0900.111", "namem0010.111", "namep0000.111", "namep0800.111", "namep9999.111", ]

Replies are listed 'Best First'.
Re^2: Aid for regex expression
by kepler (Scribe) on Dec 29, 2017 at 19:38 UTC
    Brilliant... :) Thanks.