This hopefully makes the intent of the code clearer, too.
The the HTTP use of the numeric reference for getline
caused problems in Git.pm, already.
my $pid = open(my $fh, '-|', @cmd);
defined $pid or die "$cmd failed: $!";
my %rv;
+ local $/ = "\n";
foreach my $line (<$fh>) {
chomp $line;
my ($k, $v) = split(/=/, $line, 2);
return unless defined $unlink_pid && $unlink_pid == $$;
open my $fh, '<', $file or return;
+ local $/ = "\n";
defined(my $read_pid = <$fh>) or return;
chomp $read_pid;
if ($read_pid == $unlink_pid) {
my $nr = 0;
my ($cur_commit, $first_commit, $last_commit);
my ($ts, $subj, $u);
+ local $/ = "\n";
while (defined(my $line = <$log>)) {
if ($line =~ /$addmsg/o) {
my $add = $1;
}
if ($last) {
+ local $/ = "\n";
while (my $line = <$log>) {
if ($line =~ /^(${hex}{7,40})/o) {
$last_commit = $1;
sub qx {
my ($self, @cmd) = @_;
my $fh = $self->popen(@cmd);
+ local $/ = "\n";
return <$fh> if wantarray;
local $/;
<$fh>
--raw -r --no-abbrev/, $range);
my $latest;
my $bytes;
+ local $/ = "\n";
while (defined(my $line = <$log>)) {
if ($line =~ /$addmsg/o) {
my $mime = do_cat_mail($git, $1, \$bytes) or next;
my ($self) = @_;
my @cmd = qw(config core.sharedRepository);
my $fh = PublicInbox::Git->new($self->{git_dir})->popen(@cmd);
+ local $/ = "\n";
my $perm = <$fh>;
chomp $perm if defined $perm;
$perm;
return sub {
open my $f, '<', $fifo or
die "open $fifo: $!\n";
+ local $/ = "\n";
my @r = <$f>;
$_[0]->([200, $h, \@r ]);
};
my $fh = $_[0]->([200, $h]);
open my $f, '<', $fifo or
die "open $fifo: $!\n";
+ local $/ = "\n";
while (defined(my $l = <$f>)) {
$fh->write($l);
}
ok(-f "$tmpdir/pid", 'pid file written');
open my $fh, '<', "$tmpdir/pid" or die "open failed: $!";
+ local $/ = "\n";
my $rpid = <$fh>;
chomp $rpid;
like($rpid, qr/\A\d+\z/s, 'pid file looks like a pid');