diff --git a/perl/Git.pm b/perl/Git.pm
index 087d3d0..0624428 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -827,8 +827,7 @@ sub _open_hash_and_insert_object_if_needed {
return if defined($self->{hash_object_pid});
- ($self->{hash_object_pid}, $self->{hash_object_in},
- $self->{hash_object_out}, $self->{hash_object_ctx}) =
+ @$self{map { "hash_object_$_" } qw(pid in out ctx)} =
command_bidi_pipe(qw(hash-object -w --stdin-paths));
}
@@ -837,9 +836,8 @@ sub _close_hash_and_insert_object {
return unless defined($self->{hash_object_pid});
- my @vars = map { 'hash_object_' . $_ } qw(pid in out ctx);
-
- command_close_bidi_pipe($self->{@vars});
+ my @vars = map { "hash_object_$_" } qw(pid in out ctx);
+ command_close_bidi_pipe(@$self{@vars});
delete $self->{@vars};
}
@@ -916,8 +914,7 @@ sub _open_cat_blob_if_needed {
return if defined($self->{cat_blob_pid});
- ($self->{cat_blob_pid}, $self->{cat_blob_in},
- $self->{cat_blob_out}, $self->{cat_blob_ctx}) =
+ @$self{map { "cat_blob_$_" } qw(pid in out ctx)} =
command_bidi_pipe(qw(cat-file --batch));
}
@@ -926,9 +923,8 @@ sub _close_cat_blob {
return unless defined($self->{cat_blob_pid});
- my @vars = map { 'cat_blob_' . $_ } qw(pid in out ctx);
-
- command_close_bidi_pipe($self->{@vars});
+ my @vars = map { "cat_blob_$_" } qw(pid in out ctx);
+ command_close_bidi_pipe(@$self{@vars});
delete $self->{@vars};
}