my @conditional_lines = ; my @all_lines = @conditional_lines; chomp(@all_lines); chomp(@conditional_lines); map { s/^#// } @all_lines; map { s/#.*$// } @all_lines; map { s/#.*$// } @conditional_lines; print @all_lines; print @conditional_lines; __DATA__ #my commented out line a standard line a line with a # comment at the end #### while () { chomp(); my $copy = $_; $copy =~ s/^#//; $copy =~ s/#.*$//; push(@all_lines, $copy); s/#.*$//; next unless ($_); push(@conditional_lines, $_); } print @all_lines; print @conditional_lines; __DATA__ #my commented out line a standard line a line with a # comment at the end