in reply to meaning for the code
Note that unless @cn1_new already contains data, push is not needed. You could use simple assignment like this:
my( @cn1_new ) = grep { !$ss{$_}++ } @cn1_newnnn; [download]
Dave