@data = map { #? data is skiped when plotted if($maxreject[$i]) { $_ = "?$_" if($_ > $maxclip); } if($minreject[$i]) { $_ = "?$_" if($_ < $minclip); } $i++; $_; ######### YOU ALSO NEED TO PASS THE VALUE THROUGH!! } @data; #### # as a for loop for (@data} { $_ = '?'.$_ if $maxreject[$i] && $_ > $maxclip or $minreject[$i++] && $_ < $minclip }; # or as a map, but different. @data = map{ $maxreject[$i] && $_ > $maxclip or $minreject[$i++] && $_ < $minclip ? '?'.$_ : $_ } @data;