my ($data_in, $data_out); $data_in = q|smile!!! smile again!! |; while ($data_in =~ /(.+?)<\/a>(.+?)<\/b><\/container>(<\?query\?>)?/ig) { $data_out = "$2, $1$3 "; #errors here ; #further processing here print $data_out; } #### Use of uninitialized value $3 in concatenation (.) or string at perlmonks_700143.pl line 8.