1 package ExtUtils::ParseXS::CountLines;
6 our $SECTION_END_MARKER;
9 my ($class, $cfile, $fh) = @_;
10 $cfile =~ s/\\/\\\\/g;
11 $SECTION_END_MARKER = qq{#line --- "$cfile"};
23 $self->{buffer} .= $_;
24 while ($self->{buffer} =~ s/^([^\n]*\n)//) {
27 $line =~ s|^\#line\s+---(?=\s)|#line $self->{line_no}|;
28 print {$self->{fh}} $line;
36 $self->PRINT(sprintf($fmt, @_));
40 # Not necessary if we're careful to end with a "\n"
42 print {$self->{fh}} $self->{buffer};
46 # This sub does nothing, but is necessary for references to be released.
50 return $SECTION_END_MARKER;