From ed26e0e57a413e6f903406999f16d1e07b61efa4 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <
[email protected]>
Date: Fri, 30 Apr 2010 17:31:38 +0200
Subject: [PATCH] * fix in package_size: do not count file lexicals multiple times
---
lib/B/TerseSize.pm | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/B/TerseSize.pm b/lib/B/TerseSize.pm
index 444ea94..f4bbfe9 100644
--- a/lib/B/TerseSize.pm
+++ b/lib/B/TerseSize.pm
@@ -124,10 +124,13 @@ sub package_size {
CV_walk('slow', $name, 'op_size');
for (keys %{ $filelex{$package} }) {
- my $fsize = $filelex{$package}->{$_};
- $total_opsize += $fsize;
- $retval{"my ${_} = ...;"} =
- {'size' => $fsize};
+ my $filelex_key = "my ${_} = ...;";
+ if (!exists $retval{$filelex_key}) {
+ my $fsize = $filelex{$package}->{$_};
+ $total_opsize += $fsize;
+ $retval{$filelex_key} =
+ {'size' => $fsize};
+ }
}
%filelex = ();
$total_opsize += $opsize;
--
1.7.0.3