#!/usr/bin/perl -w use strict; use warnings; use Sort::Key qw(usort); use List::MoreUtils qw(uniq); my $bug_fix_msg = "this 33,44 is a fix for mybug44,99 real \ bug 99 again bug33r bug1722,3 bUg:99, \ bugs:456, 17, 24 bugs 42,58 bug: 50,50"; my @bug_array = map { split /\s*,\s*/, $_ } $bug_fix_msg =~ m/\bbugs?\s*:?\s*(\d+(?:\s*,\s*\d+)*)\b/ig; my @sorted = usort uniq @bug_array; print "\n sorted: @sorted\n"; print "OK!\n" if "@sorted" eq "3 17 24 42 50 58 99 456 1722";