$_ = '/New York/Chicago/New York/Boston/Houston/Chicago/Seattle/'; my %tally; s/\/([^\/]+)/($tally{$1}++) ? '' : "\/$1"/ge; print $_; __END__ prints /New York/Chicago/Boston/Houston/Washington/