my $data; open my $FH, '<' , $config or die "Cannot open $config: $!\n"; open my $HF, '>' , $uncommented or die "Cannot open $uncommented: $!\n"; $data = <$FH>; while (<$FH>) { next if /^\s*#|^$/; print $HF "$_"; } close $FH; close $HF;