#!/usr/bin/perl # http://perlmonks.org/?node_id=1183627 use strict; use warnings; $_ = '222,345,222,678,222,222,543,111'; while( /222,(\d\d\d)/g ) { print "AFTER 222-$1\n"; pos($_) -= 4; # actually move back 4 characters }