#!/usr/bin/env perl use strict; use warnings; use open OUT => qw{:encoding(UTF-8) :std}; my ($en_dash, $em_dash) = ("\x{2013}", "\N{EM DASH}"); my $str = "a-b${en_dash}c${em_dash}d"; my $re = qr{[\N{EN DASH}\x{2014}-]}; print "Original string: $str\n"; print "Parts separated by some dash:\n"; print "$_\n" for split $re, $str;