# $1 $2 while( $file =~ m/^\s+description\s(\w\w\w\w)(-\w+-\w+);/gm ) { #say $1, $2 if $opt{debug}; # Way to reset $1, $2, etc? my $prefix = $1; my $suffix = $2; my $old_name = $prefix.$suffix; if( $old_name ~~ @old_names ) { # Should only be processing each name once! say "ERROR: Already processed old_name $old_name."; reset; next; #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< NEXT } push @old_names, $old_name; my $new_name = my_rand(); # Update: my_rand now takes care of duplciates my $new_full_name = $new_name.$suffix; say "Replacing $old_name with $new_full_name..." if $opt{verbose}; # $file =~ s/$old_name/$new_full_name/g; reset; }