/
usr
/
share
/
perl5
/
ExtUtils
/
ParseXS
/
/usr/share/perl5/ExtUtils/ParseXS
mkdir
upload
Name
Size
Mode
Actions
Constants.pm
1144
0444
edit
dl
rm
CountLines.pm
971
0444
edit
dl
rm
Eval.pm
2374
0444
edit
dl
rm
Utilities.pm
17171
0444
edit
dl
rm
Edit:
/usr/share/perl5/ExtUtils/ParseXS/CountLines.pm
(971B)
package ExtUtils::ParseXS::CountLines; use strict; our $VERSION = '3.35'; our $SECTION_END_MARKER; sub TIEHANDLE { my ($class, $cfile, $fh) = @_; $cfile =~ s/\\/\\\\/g; $cfile =~ s/"/\\"/g; $SECTION_END_MARKER = qq{#line --- "$cfile"}; return bless { buffer => '', fh => $fh, line_no => 1, }, $class; } sub PRINT { my $self = shift; for (@_) { $self->{buffer} .= $_; while ($self->{buffer} =~ s/^([^\n]*\n)//) { my $line = $1; ++$self->{line_no}; $line =~ s|^\#line\s+---(?=\s)|#line $self->{line_no}|; print {$self->{fh}} $line; } } } sub PRINTF { my $self = shift; my $fmt = shift; $self->PRINT(sprintf($fmt, @_)); } sub DESTROY { # Not necessary if we're careful to end with a "\n" my $self = shift; print {$self->{fh}} $self->{buffer}; } sub UNTIE { # This sub does nothing, but is necessary for references to be released. } sub end_marker { return $SECTION_END_MARKER; } 1;
Save
cmd:
run