This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 97aac1e  Add Perltidy configuration and build target
97aac1e is described below

commit 97aac1e1a7d328076752dd032bca3967b0d22023
Author: Leif Hedstrom <[email protected]>
AuthorDate: Mon Feb 18 14:26:00 2019 -0700

    Add Perltidy configuration and build target
    
    Also does an initial run.
---
 .perltidyrc                              |  14 +
 Makefile.am                              |   5 +-
 ci/jenkins/ats_conf.pl                   |  68 ++---
 ci/rat-regex.txt                         |   1 +
 lib/perl/examples/forw_proxy_conf.pl     |  11 +-
 lib/perl/lib/Apache/TS/AdminClient.pm    |  61 ++---
 lib/perl/lib/Apache/TS/Config.pm         |   6 +-
 lib/perl/lib/Apache/TS/Config/Records.pm |  66 +++--
 plugins/experimental/url_sig/genkeys.pl  |   8 +-
 plugins/experimental/url_sig/sign.pl     | 329 +++++++++++-----------
 proxy/http/test_http_client.pl           | 390 ++++++++++++---------------
 proxy/http/test_proxy.pl                 | 450 +++++++++++++++----------------
 tools/changelog.pl                       | 223 +++++++--------
 tools/compare_records.pl                 | 158 +++++------
 tools/compare_servers.pl                 | 386 +++++++++++++-------------
 tools/freelist_diff.pl                   |  25 +-
 tools/http_load/merge_stats.pl           |  91 ++++---
 tools/slow_log_report.pl                 | 104 +++----
 tools/traffic_via.pl                     | 250 ++++++++---------
 19 files changed, 1304 insertions(+), 1342 deletions(-)

diff --git a/.perltidyrc b/.perltidyrc
new file mode 100644
index 0000000..86440f5
--- /dev/null
+++ b/.perltidyrc
@@ -0,0 +1,14 @@
+  # This is a simple of a .perltidyrc configuration file
+  -l=132 # Line length
+  -i=4   # 4-space indentation
+  -nlp   # Line up params
+  -ce    # cuddle the braces
+  -tso   # Tight secret ops
+  -nsfs  # No space for semicolon
+  -pt=2  # tight parens
+  -bt=2  # tight braces
+  -sbt=2 # tight brackets
+  -bbt=2 # tight code brackets
+  -nbbc  # No blank lines before comment lines
+  -otr   # No break between a comma and an opening token
+  -sbl   # Empty lane for sub's opening brace
diff --git a/Makefile.am b/Makefile.am
index 15a411a..889be94 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -119,7 +119,7 @@ autopep8:
 # If you make changes to directory structures, you must update this as well.
 #
 .PHONY:        clang-format-src clang-format-example clang-format-iocore 
clang-format-lib clang-format-mgmt \
-       clang-format-plugins clang-format-proxy clang-format-tools
+       clang-format-plugins clang-format-proxy clang-format-tools perltidy
 
 clang-format:  clang-format-src clang-format-example clang-format-iocore 
clang-format-lib clang-format-mgmt \
                clang-format-plugins clang-format-proxy clang-format-tools 
clang-format-tests
@@ -152,6 +152,9 @@ clang-format-tools:
 clang-format-tests:
        @$(top_srcdir)/tools/clang-format.sh $(top_srcdir)/tests
 
+perltidy:
+       perltidy -q -b -bext='/' `find . -name \*.pm -o -name \*.pl`
+
 help:
        @echo 'all              default target for building the package'
        @echo 'asf-dist         recreate source package'
diff --git a/ci/jenkins/ats_conf.pl b/ci/jenkins/ats_conf.pl
index 0fd0b75..83d293e 100755
--- a/ci/jenkins/ats_conf.pl
+++ b/ci/jenkins/ats_conf.pl
@@ -32,69 +32,69 @@ $recedit->append(line => "CONFIG 
proxy.config.proxy_binary_opts STRING -M --disa
 #$recedit->append(line => "CONFIG proxy.config.crash_log_helper STRING 
/home/admin/bin/invoker_wrap.sh");
 
 # Port setup
-$recedit->set(conf => "proxy.config.http.server_ports", val => "80 80:ipv6 
443:ssl 443:ipv6:ssl");
-$recedit->set(conf => "proxy.config.admin.autoconf_port", val => "48083");
+$recedit->set(conf => "proxy.config.http.server_ports",         val => "80 
80:ipv6 443:ssl 443:ipv6:ssl");
+$recedit->set(conf => "proxy.config.admin.autoconf_port",       val => 
"48083");
 $recedit->set(conf => "proxy.config.process_manager.mgmt_port", val => 
"48084");
 
 # Threads
 $recedit->set(conf => "proxy.config.exec_thread.autoconfig", val => "0");
-$recedit->set(conf => "proxy.config.exec_thread.limit", val => "8");
+$recedit->set(conf => "proxy.config.exec_thread.limit",      val => "8");
 $recedit->set(conf => "proxy.config.cache.threads_per_disk", val => "8");
-$recedit->set(conf => "proxy.config.accept_threads", val => "0");
-$recedit->set(conf => "proxy.config.exec_thread.affinity", val => "1");
+$recedit->set(conf => "proxy.config.accept_threads",         val => "0");
+$recedit->set(conf => "proxy.config.exec_thread.affinity",   val => "1");
 
 # TLS
 #$recedit->set(conf => "proxy.config.ssl.server.cipher_suite", val => 
"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA!SRP:!DSS:!PSK:!aNULL:!eNULL:!SSLv2:!RC4");
 $recedit->set(conf => "proxy.config.ssl.hsts_max_age", val => "17280000");
 #$recedit->set(conf => "proxy.config.ssl.max_record_size", val => "-1");
-$recedit->set(conf => "proxy.config.ssl.session_cache", val => "2");
-$recedit->set(conf => "proxy.config.ssl.ocsp.enabled", val => "1");
+$recedit->set(conf => "proxy.config.ssl.session_cache",             val => 
"2");
+$recedit->set(conf => "proxy.config.ssl.ocsp.enabled",              val => 
"1");
 $recedit->set(conf => "proxy.config.http2.stream_priority_enabled", val => 
"1");
 
 # Cache setup
-$recedit->set(conf => "proxy.config.cache.ram_cache.size", val => "1536M");
-$recedit->set(conf => "proxy.config.cache.ram_cache_cutoff", val => "4M");
-$recedit->set(conf => "proxy.config.cache.limits.http.max_alts", val => "4");
-$recedit->set(conf => "proxy.config.cache.dir.sync_frequency", val => "600"); 
# 10 minutes intervals
+$recedit->set(conf => "proxy.config.cache.ram_cache.size",                val 
=> "1536M");
+$recedit->set(conf => "proxy.config.cache.ram_cache_cutoff",              val 
=> "4M");
+$recedit->set(conf => "proxy.config.cache.limits.http.max_alts",          val 
=> "4");
+$recedit->set(conf => "proxy.config.cache.dir.sync_frequency",            val 
=> "600");     # 10 minutes intervals
 $recedit->set(conf => "proxy.config.http.cache.ignore_client_cc_max_age", val 
=> "1");
-$recedit->set(conf => "proxy.config.allocator.hugepages", val => "1");
+$recedit->set(conf => "proxy.config.allocator.hugepages",                 val 
=> "1");
 
 # HTTP caching related stuff
-$recedit->set(conf => "proxy.config.http.cache.required_headers", val => "1");
-$recedit->set(conf => "proxy.config.http.insert_request_via_str", val => "1");
-$recedit->set(conf => "proxy.config.http.insert_response_via_str", val => "2");
-$recedit->set(conf => "proxy.config.http.negative_caching_enabled", val => 
"1");
+$recedit->set(conf => "proxy.config.http.cache.required_headers",    val => 
"1");
+$recedit->set(conf => "proxy.config.http.insert_request_via_str",    val => 
"1");
+$recedit->set(conf => "proxy.config.http.insert_response_via_str",   val => 
"2");
+$recedit->set(conf => "proxy.config.http.negative_caching_enabled",  val => 
"1");
 $recedit->set(conf => "proxy.config.http.negative_caching_lifetime", val => 
"60");
-$recedit->set(conf => "proxy.config.http.chunking.size", val => "64k");
-$recedit->set(conf => "proxy.config.url_remap.pristine_host_hdr", val => "1");
+$recedit->set(conf => "proxy.config.http.chunking.size",             val => 
"64k");
+$recedit->set(conf => "proxy.config.url_remap.pristine_host_hdr",    val => 
"1");
 
 # Timeouts
-$recedit->set(conf => "proxy.config.http.keep_alive_no_activity_timeout_in", 
val => "300");
-$recedit->set(conf => "proxy.config.http.keep_alive_no_activity_timeout_out", 
val => "300");
+$recedit->set(conf => "proxy.config.http.keep_alive_no_activity_timeout_in",   
val => "300");
+$recedit->set(conf => "proxy.config.http.keep_alive_no_activity_timeout_out",  
val => "300");
 $recedit->set(conf => "proxy.config.http.transaction_no_activity_timeout_out", 
val => "180");
-$recedit->set(conf => "proxy.config.http.transaction_no_activity_timeout_in", 
val => "180");
-$recedit->set(conf => "proxy.config.http.transaction_active_timeout_in", val 
=> "180");
-$recedit->set(conf => "proxy.config.http.transaction_active_timeout_out", val 
=> "180");
-$recedit->set(conf => "proxy.config.http.accept_no_activity_timeout", val => 
"30");
+$recedit->set(conf => "proxy.config.http.transaction_no_activity_timeout_in",  
val => "180");
+$recedit->set(conf => "proxy.config.http.transaction_active_timeout_in",       
val => "180");
+$recedit->set(conf => "proxy.config.http.transaction_active_timeout_out",      
val => "180");
+$recedit->set(conf => "proxy.config.http.accept_no_activity_timeout",          
val => "30");
 
 # DNS / HostDB
-$recedit->set(conf => "proxy.config.cache.hostdb.sync_frequency",  val => "0");
+$recedit->set(conf => "proxy.config.cache.hostdb.sync_frequency", val => "0");
 
 # Logging
-$recedit->set(conf => "proxy.config.log.logging_enabled", val => "3");
-$recedit->set(conf => "proxy.config.log.max_space_mb_for_logs",  val => 
"4096");
-$recedit->set(conf => "proxy.config.log.max_space_mb_headroom",  val => "64");
+$recedit->set(conf => "proxy.config.log.logging_enabled",       val => "3");
+$recedit->set(conf => "proxy.config.log.max_space_mb_for_logs", val => "4096");
+$recedit->set(conf => "proxy.config.log.max_space_mb_headroom", val => "64");
 
 # Network
-$recedit->set(conf => "proxy.config.net.connections_throttle", val => "10000");
-$recedit->set(conf => "proxy.config.net.sock_send_buffer_size_in", val => 
"4M");
+$recedit->set(conf => "proxy.config.net.connections_throttle",      val => 
"10000");
+$recedit->set(conf => "proxy.config.net.sock_send_buffer_size_in",  val => 
"4M");
 $recedit->set(conf => "proxy.config.net.sock_recv_buffer_size_out", val => 
"4M");
-$recedit->set(conf => "proxy.config.net.poll_timeout",  val => "30");
+$recedit->set(conf => "proxy.config.net.poll_timeout",              val => 
"30");
 
 # Local additions (typically not found in the records.config.default)
-$recedit->set(conf => "proxy.config.dns.dedicated_thread", val => "0");
-$recedit->set(conf => "proxy.config.http_ui_enabled", val => "3");
-$recedit->set(conf => "proxy.config.http.server_max_connections", val =>"250");
+$recedit->set(conf => "proxy.config.dns.dedicated_thread",        val => "0");
+$recedit->set(conf => "proxy.config.http_ui_enabled",             val => "3");
+$recedit->set(conf => "proxy.config.http.server_max_connections", val => 
"250");
 
 #$recedit->set(conf => "proxy.config.mlock_enabled", val => "2");
 
diff --git a/ci/rat-regex.txt b/ci/rat-regex.txt
index 93a24d5..18c5c82 100644
--- a/ci/rat-regex.txt
+++ b/ci/rat-regex.txt
@@ -25,6 +25,7 @@
 .*\.gold$
 ^\.gitignore$
 ^\.gitmodules$
+^\.perltidyrc$
 ^\.indent.pro$
 ^\.vimrc$
 ^\.clang-.*$
diff --git a/lib/perl/examples/forw_proxy_conf.pl 
b/lib/perl/examples/forw_proxy_conf.pl
index 9cdd79c..ae25562 100755
--- a/lib/perl/examples/forw_proxy_conf.pl
+++ b/lib/perl/examples/forw_proxy_conf.pl
@@ -18,7 +18,6 @@
 
 use Apache::TS::Config::Records;
 
-
 ############################################################################
 # Simple script, to show some minimum configuration changes typical for
 # a forward proxy.
@@ -26,16 +25,16 @@ my $fn = $ARGV[0] || 
"/usr/local/etc/trafficserver/records.config";
 my $recedit = new Apache::TS::Config::Records(file => $fn);
 
 # Definitely tweak the memory config
-$recedit->set(conf => "proxy.config.cache.ram_cache.size",  val => "2048M");
+$recedit->set(conf => "proxy.config.cache.ram_cache.size", val => "2048M");
 
 # These puts the server in forward proxy mode only.
-$recedit->set(conf => "proxy.config.url_remap.remap_required",  val => "0");
-$recedit->set(conf => "proxy.config.reverse_proxy.enabled",  val => "0");
+$recedit->set(conf => "proxy.config.url_remap.remap_required", val => "0");
+$recedit->set(conf => "proxy.config.reverse_proxy.enabled",    val => "0");
 
 # Fine tuning, you might or might not want these
 $recedit->set(conf => "proxy.config.http.transaction_active_timeout_in", val 
=> "1800");
-$recedit->set(conf => "proxy.config.dns.dedicated_thread", val => "1");
-$recedit->set(conf => "proxy.config.http.normalize_ae_gzip", val => "1");
+$recedit->set(conf => "proxy.config.dns.dedicated_thread",               val 
=> "1");
+$recedit->set(conf => "proxy.config.http.normalize_ae_gzip",             val 
=> "1");
 
 # Write out the new config file (this won't overwrite your config
 $recedit->write(file => "$fn.new");
diff --git a/lib/perl/lib/Apache/TS/AdminClient.pm 
b/lib/perl/lib/Apache/TS/AdminClient.pm
index 5f9aab6..937d5ce 100644
--- a/lib/perl/lib/Apache/TS/AdminClient.pm
+++ b/lib/perl/lib/Apache/TS/AdminClient.pm
@@ -76,20 +76,16 @@ use constant {
     TS_ERR_FAIL                => 12
 };
 
-
 # Semi-intelligent way of finding the mgmtapi socket.
-sub _find_socket {
+sub _find_socket
+{
     my $path = shift || "";
     my $name = shift || "mgmtapi.sock";
     my @sockets_def = (
-        $path,
-        Apache::TS::PREFIX . '/' . Apache::TS::REL_RUNTIMEDIR . '/' . 
'mgmtapi.sock',
-        '/usr/local/var/trafficserver',
-        '/usr/local/var/run/trafficserver',
-        '/usr/local/var/run',
-        '/var/trafficserver',
-        '/var/run/trafficserver',
-        '/var/run',
+        $path,                          Apache::TS::PREFIX . '/' . 
Apache::TS::REL_RUNTIMEDIR . '/' . 'mgmtapi.sock',
+        '/usr/local/var/trafficserver', '/usr/local/var/run/trafficserver',
+        '/usr/local/var/run',           '/var/trafficserver',
+        '/var/run/trafficserver',       '/var/run',
         '/opt/ats/var/trafficserver',
     );
 
@@ -104,14 +100,14 @@ sub _find_socket {
 #
 # Constructor
 #
-sub new {
+sub new
+{
     my ($class, %args) = @_;
     my $self = {};
 
     $self->{_socket_path} = _find_socket($args{socket_path});
-    $self->{_socket} = undef;
-    croak
-"Unable to locate socket, please pass socket_path with the management api 
socket location to Apache::TS::AdminClient"
+    $self->{_socket}      = undef;
+    croak "Unable to locate socket, please pass socket_path with the 
management api socket location to Apache::TS::AdminClient"
       if (!$self->{_socket_path});
     if ((!-r $self->{_socket_path}) or (!-w $self->{_socket_path}) or (!-S 
$self->{_socket_path})) {
         croak "Unable to open $self->{_socket_path} for reads or writes";
@@ -128,7 +124,8 @@ sub new {
 #
 # Destructor
 #
-sub DESTROY {
+sub DESTROY
+{
     my $self = shift;
     return $self->close_socket();
 }
@@ -136,15 +133,15 @@ sub DESTROY {
 #
 # Open the socket (Unix domain)
 #
-sub open_socket {
+sub open_socket
+{
     my $self = shift;
     my %args = @_;
 
     if (defined($self->{_socket})) {
         if ($args{force} || $args{reopen}) {
             $self->close_socket();
-        }
-        else {
+        } else {
             return undef;
         }
     }
@@ -152,7 +149,7 @@ sub open_socket {
     $self->{_socket} = IO::Socket::UNIX->new(
         Type => SOCK_STREAM,
         Peer => $self->{_socket_path}
-   ) or croak("Error opening socket - $@");
+    ) or croak("Error opening socket - $@");
 
     return undef unless defined($self->{_socket});
     $self->{_select}->add($self->{_socket});
@@ -160,7 +157,8 @@ sub open_socket {
     return $self;
 }
 
-sub close_socket {
+sub close_socket
+{
     my $self = shift;
 
     # if socket doesn't exist, return as there's nothing to do.
@@ -177,10 +175,11 @@ sub close_socket {
 #
 # Do reads()'s on our Unix domain socket, takes an optional timeout, in ms's.
 #
-sub _do_read {
-    my $self = shift;
-    my $timeout = shift || 1/1000.0; # 1ms by default
-    my $res = "";
+sub _do_read
+{
+    my $self    = shift;
+    my $timeout = shift || 1 / 1000.0;    # 1ms by default
+    my $res     = "";
 
     while ($self->{_select}->can_read($timeout)) {
         my $rc = $self->{_socket}->sysread($res, 1024, length($res));
@@ -199,14 +198,14 @@ sub _do_read {
     return $res || undef;
 }
 
-
 #
 # Get (read) a stat out of the local manager. Note that the assumption is
 # that you are calling this with an existing stats "name".
 #
-sub get_stat {
+sub get_stat
+{
     my ($self, $stat) = @_;
-    my $res               = "";
+    my $res = "";
 
     return undef unless defined($self->{_socket});
     return undef unless $self->{_select}->can_write(10);
@@ -219,7 +218,7 @@ sub get_stat {
     my $msg = pack("ll/Z", TS_RECORD_GET, $stat);
     $self->{_socket}->print(pack("l/a", $msg));
     $res = $self->_do_read();
-    return undef unless defined($res); # Don't proceed on read failure.
+    return undef unless defined($res);    # Don't proceed on read failure.
 
     # The response format is:
     #   MGMT_MARSHALL_INT: message length
@@ -235,12 +234,10 @@ sub get_stat {
         if ($type == TS_REC_INT || $type == TS_REC_COUNTER) {
             my ($ival) = unpack("q", $value);
             return $ival;
-        }
-        elsif ($type == TS_REC_FLOAT) {
+        } elsif ($type == TS_REC_FLOAT) {
             my ($fval) = unpack("f", $value);
             return $fval;
-        }
-        elsif ($type == TS_REC_STRING) {
+        } elsif ($type == TS_REC_STRING) {
             my ($sval) = unpack("Z*", $value);
             return $sval;
         }
diff --git a/lib/perl/lib/Apache/TS/Config.pm b/lib/perl/lib/Apache/TS/Config.pm
index 4e9e7aa..d4a5007 100644
--- a/lib/perl/lib/Apache/TS/Config.pm
+++ b/lib/perl/lib/Apache/TS/Config.pm
@@ -31,7 +31,7 @@ our $VERSION = "1.0";
 
 # Constants
 use constant {
-    TS_CONF_UNMODIFIED     => 0,
-    TS_CONF_MODIFIED       => 1,
-    TS_CONF_REMOVED        => 2
+    TS_CONF_UNMODIFIED => 0,
+    TS_CONF_MODIFIED   => 1,
+    TS_CONF_REMOVED    => 2
 };
diff --git a/lib/perl/lib/Apache/TS/Config/Records.pm 
b/lib/perl/lib/Apache/TS/Config/Records.pm
index 5f69113..078aab8 100644
--- a/lib/perl/lib/Apache/TS/Config/Records.pm
+++ b/lib/perl/lib/Apache/TS/Config/Records.pm
@@ -15,7 +15,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
 ############################################################################
 # This is a simple module to let you read, modify and add to an Apache
 # Traffic Server records.config file. The idea is that you would write a
@@ -25,7 +24,6 @@
 # perldoc for more details.
 ############################################################################
 
-
 package Apache::TS::Config::Records;
 
 use Apache::TS::Config;
@@ -38,22 +36,22 @@ use Carp;
 
 our $VERSION = "1.0";
 
-
 #
 # Constructor
 #
-sub new {
+sub new
+{
     my ($class, %args) = @_;
     my $self = {};
-    my $fn = $args{file};
+    my $fn   = $args{file};
 
     $fn = $args{filename} unless defined($fn);
-    $fn = "-" unless defined($fn);
+    $fn = "-"             unless defined($fn);
 
-    $self->{_filename} = $fn;  # Filename to open when loading and saving
-    $self->{_configs} = [];            # Storage, and to to preserve order
-    $self->{_lookup} = {};             # For faster lookup, indexes into the 
above
-    $self->{_ix} = -1;                 # Empty
+    $self->{_filename} = $fn;    # Filename to open when loading and saving
+    $self->{_configs}  = [];     # Storage, and to to preserve order
+    $self->{_lookup}   = {};     # For faster lookup, indexes into the above
+    $self->{_ix}       = -1;     # Empty
     bless $self, $class;
 
     $self->load() if $self->{_filename};
@@ -61,16 +59,16 @@ sub new {
     return $self;
 }
 
-
 #
 # Load a records.config file
 #
-sub load {
+sub load
+{
     my $self = shift;
     my %args = @_;
-    my $fn = $args{file};
+    my $fn   = $args{file};
 
-    $fn = $args{filename} unless defined($fn);
+    $fn = $args{filename}    unless defined($fn);
     $fn = $self->{_filename} unless defined($fn);
 
     open(FH, "<$fn") || die "Can't open file $fn for reading";
@@ -88,14 +86,14 @@ sub load {
     }
 }
 
-
 #
 # Get an existing configuration line, as an anon array.
 #
-sub get {
+sub get
+{
     my $self = shift;
     my %args = @_;
-    my $c = $args{conf};
+    my $c    = $args{conf};
 
     $c = $args{config} unless defined($c);
     my $ix = $self->{_lookup}->{$c};
@@ -104,26 +102,26 @@ sub get {
     return $self->{_configs}->[$ix];
 }
 
-
 #
 # Modify one configuration value
 #
-sub set {
+sub set
+{
     my $self = shift;
     my %args = @_;
-    my $c = $args{conf};
-    my $v = $args{val};
+    my $c    = $args{conf};
+    my $v    = $args{val};
 
     $c = $args{config} unless defined($c);
-    $v = $args{value} unless defined($v);
+    $v = $args{value}  unless defined($v);
 
     my $ix = $self->{_lookup}->{$c};
 
     if (!defined($ix)) {
-      my $type = $args{type};
+        my $type = $args{type};
 
-      $type = "INT" unless defined($type);
-      $self->append(line => "CONFIG $c $type $v");
+        $type = "INT" unless defined($type);
+        $self->append(line => "CONFIG $c $type $v");
     } else {
         my $val = $self->{_configs}->[$ix];
 
@@ -132,14 +130,14 @@ sub set {
     }
 }
 
-
 #
 # Remove a configuration from the file.
 #
-sub remove {
+sub remove
+{
     my $self = shift;
     my %args = @_;
-    my $c = $args{conf};
+    my $c    = $args{conf};
 
     $c = $args{config} unless defined($c);
 
@@ -148,11 +146,11 @@ sub remove {
     $self->{_configs}->[$ix]->[2] = TS_CONF_REMOVED if defined($ix);
 }
 
-
 #
 # Append anything to the "end" of the configuration.
 #
-sub append {
+sub append
+{
     my $self = shift;
     my %args = @_;
     my $line = $args{line};
@@ -170,17 +168,17 @@ sub append {
     $self->{_lookup}->{$p[1]} = $self->{_ix} if ($#p == 3) && (($p[0] eq 
"LOCAL") || ($p[0] eq "CONFIG"));
 }
 
-
 #
 # Write the new configuration file to STDOUT, or provided
 #
-sub write {
+sub write
+{
     my $self = shift;
     my %args = @_;
-    my $fn = $args{file};
+    my $fn   = $args{file};
 
     $fn = $args{filename} unless defined($fn);
-    $fn = "-" unless defined($fn);
+    $fn = "-"             unless defined($fn);
 
     if ($fn ne "-") {
         close(STDOUT);
diff --git a/plugins/experimental/url_sig/genkeys.pl 
b/plugins/experimental/url_sig/genkeys.pl
index ae5bc07..38cc523 100755
--- a/plugins/experimental/url_sig/genkeys.pl
+++ b/plugins/experimental/url_sig/genkeys.pl
@@ -17,11 +17,11 @@
 #  limitations under the License.
 
 my $len = 32;
-my @chars = ( 'a' .. 'z', 'A' .. 'Z', '0' .. '9', '_' );
-foreach my $i ( 0 .. 15 ) {
+my @chars = ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '_');
+foreach my $i (0 .. 15) {
     my $string = "";
-    foreach ( 1 .. $len ) {
-        $string .= $chars[ rand @chars ];
+    foreach (1 .. $len) {
+        $string .= $chars[rand @chars];
     }
     print "key" . $i . " = " . $string . "\n";
 }
diff --git a/plugins/experimental/url_sig/sign.pl 
b/plugins/experimental/url_sig/sign.pl
index 6de4cc6..7cf3850 100755
--- a/plugins/experimental/url_sig/sign.pl
+++ b/plugins/experimental/url_sig/sign.pl
@@ -22,50 +22,50 @@ use Getopt::Long;
 use MIME::Base64::URLSafe ();
 use strict;
 use warnings;
-my $key       = undef;
-my $string    = undef;
-my $useparts  = undef;
-my $result    = undef;
-my $duration  = undef;
-my $keyindex  = undef;
-my $verbose   = 0;
-my $url       = undef;
-my $client    = undef;
-my $algorithm = 1;
+my $key        = undef;
+my $string     = undef;
+my $useparts   = undef;
+my $result     = undef;
+my $duration   = undef;
+my $keyindex   = undef;
+my $verbose    = 0;
+my $url        = undef;
+my $client     = undef;
+my $algorithm  = 1;
 my $pathparams = 0;
 my $sig_anchor = undef;
-my $proxy = undef;
-my $scheme = "http://";;
+my $proxy      = undef;
+my $scheme     = "http://";;
 
 $result = GetOptions(
-       "url=s"       => \$url,
-       "useparts=s"  => \$useparts,
-       "duration=i"  => \$duration,
-       "key=s"       => \$key,
-       "client=s"    => \$client,
-       "algorithm=i" => \$algorithm,
-       "keyindex=i"  => \$keyindex,
-       "verbose"     => \$verbose,
-       "pathparams"  => \$pathparams,
-  "proxy=s"     => \$proxy,
-  "siganchor=s"  => \$sig_anchor
+    "url=s"       => \$url,
+    "useparts=s"  => \$useparts,
+    "duration=i"  => \$duration,
+    "key=s"       => \$key,
+    "client=s"    => \$client,
+    "algorithm=i" => \$algorithm,
+    "keyindex=i"  => \$keyindex,
+    "verbose"     => \$verbose,
+    "pathparams"  => \$pathparams,
+    "proxy=s"     => \$proxy,
+    "siganchor=s" => \$sig_anchor
 );
 
-if ( !defined($key) || !defined($url) || !defined($duration) || 
!defined($keyindex) ) {
-       &help();
-       exit(1);
-}
-if ( defined($proxy) ) {
-  if ($proxy  !~ /http\:\/\/.*\:\d\d/) {
+if (!defined($key) || !defined($url) || !defined($duration) || 
!defined($keyindex)) {
     &help();
-  }
+    exit(1);
+}
+if (defined($proxy)) {
+    if ($proxy !~ /http\:\/\/.*\:\d\d/) {
+        &help();
+    }
 }
 
 if ($url =~ m/^https/) {
-  $url =~ s/^https:\/\///;
-  $scheme = "https://";;
+    $url =~ s/^https:\/\///;
+    $scheme = "https://";;
 } else {
-  $url =~ s/^http:\/\///;
+    $url =~ s/^http:\/\///;
 }
 
 my $url_prefix = $url;
@@ -77,87 +77,90 @@ my $j              = 0;
 my @inactive_parts = ();
 
 my $query_params = undef;
-my $urlHasParams = index($url,"?");
-my $file = undef;
+my $urlHasParams = index($url, "?");
+my $file         = undef;
 
 my @parts = (split(/\//, $url));
 my $parts_size = scalar(@parts);
 
 if ($pathparams) {
-  if (scalar(@parts) > 1) {
-    $file = pop @parts;
-  } else {
-    print STDERR "\nERROR: No file segment in the path when using 
--pathparams.\n\n";
-    &help();
-    exit 1;
-  }
-  if($urlHasParams) {
-    $file = (split(/\?/, $file))[0];
-  }
-  $parts_size = scalar(@parts);
+    if (scalar(@parts) > 1) {
+        $file = pop @parts;
+    } else {
+        print STDERR "\nERROR: No file segment in the path when using 
--pathparams.\n\n";
+        &help();
+        exit 1;
+    }
+    if ($urlHasParams) {
+        $file = (split(/\?/, $file))[0];
+    }
+    $parts_size = scalar(@parts);
 }
 if ($urlHasParams > 0) {
-  if ( ! $pathparams) {
-    ($parts[$parts_size -1], $query_params) = (split(/\?/, $parts[$parts_size 
- 1]));
-  } else {
-    $query_params = (split(/\?/, $url))[1];
-  }
+    if (!$pathparams) {
+        ($parts[$parts_size - 1], $query_params) = (split(/\?/, 
$parts[$parts_size - 1]));
+    } else {
+        $query_params = (split(/\?/, $url))[1];
+    }
 }
 
 foreach my $part (@parts) {
-       if ( length($useparts) > $i ) {
-               $part_active = substr( $useparts, $i++, 1 );
-       }
-       if ($part_active) {
-               $string .= $part . "/";
-       }
-       else {
-               $inactive_parts[$j] = $part;
-       }
-       $j++;
+    if (length($useparts) > $i) {
+        $part_active = substr($useparts, $i++, 1);
+    }
+    if ($part_active) {
+        $string .= $part . "/";
+    } else {
+        $inactive_parts[$j] = $part;
+    }
+    $j++;
 }
 
 my $signing_signature = undef;
 
 chop($string);
 if ($pathparams) {
-  if ( defined($client) ) {
-    $signing_signature = ";C=" . $client . ";E=" . ( time() + $duration ) . 
";A=" . $algorithm . ";K=" . $keyindex . ";P=" . $useparts . ";S=";
-    $string .= $signing_signature;
-  }
-  else {
-    $signing_signature = ";E=" . ( time() + $duration ) . ";A=" . $algorithm . 
";K=" . $keyindex . ";P=" . $useparts . ";S=";
-    $string .= $signing_signature;
-  }
-} else {
-  if ( defined($client) ) {
-    if ($urlHasParams > 0) {
-           $signing_signature = "?$query_params" . "&C=" . $client . "&E=" . ( 
time() + $duration ) . "&A=" . $algorithm . "&K=" . $keyindex . "&P=" . 
$useparts . "&S=";
-      $string .= $signing_signature;
-    }
-    else {
-           $signing_signature = "?C=" . $client . "&E=" . ( time() + $duration 
) . "&A=" . $algorithm . "&K=" . $keyindex . "&P=" . $useparts . "&S=";
-      $string .= $signing_signature;
-    }
-  }
-  else {
-    if ($urlHasParams > 0) {
-           $signing_signature = "?$query_params" . "&E=" . ( time() + 
$duration ) . "&A=" . $algorithm . "&K=" . $keyindex . "&P=" . $useparts . 
"&S=";
-      $string .= $signing_signature;
+    if (defined($client)) {
+        $signing_signature =
+          ";C=" . $client . ";E=" . (time() + $duration) . ";A=" . $algorithm 
. ";K=" . $keyindex . ";P=" . $useparts . ";S=";
+        $string .= $signing_signature;
+    } else {
+        $signing_signature = ";E=" . (time() + $duration) . ";A=" . $algorithm 
. ";K=" . $keyindex . ";P=" . $useparts . ";S=";
+        $string .= $signing_signature;
     }
-    else {
-           $signing_signature = "?E=" . ( time() + $duration ) . "&A=" . 
$algorithm . "&K=" . $keyindex . "&P=" . $useparts . "&S=";
-      $string .= $signing_signature;
+} else {
+    if (defined($client)) {
+        if ($urlHasParams > 0) {
+            $signing_signature =
+                "?$query_params" . "&C="
+              . $client . "&E="
+              . (time() + $duration) . "&A="
+              . $algorithm . "&K="
+              . $keyindex . "&P="
+              . $useparts . "&S=";
+            $string .= $signing_signature;
+        } else {
+            $signing_signature =
+              "?C=" . $client . "&E=" . (time() + $duration) . "&A=" . 
$algorithm . "&K=" . $keyindex . "&P=" . $useparts . "&S=";
+            $string .= $signing_signature;
+        }
+    } else {
+        if ($urlHasParams > 0) {
+            $signing_signature =
+              "?$query_params" . "&E=" . (time() + $duration) . "&A=" . 
$algorithm . "&K=" . $keyindex . "&P=" . $useparts . "&S=";
+            $string .= $signing_signature;
+        } else {
+            $signing_signature = "?E=" . (time() + $duration) . "&A=" . 
$algorithm . "&K=" . $keyindex . "&P=" . $useparts . "&S=";
+            $string .= $signing_signature;
+        }
     }
-  }
 }
 
 my $digest;
-if ( $algorithm == 1 ) {
-       $digest = hmac_sha1_hex( $string, $key );
-}
-else {
-       $digest = hmac_md5_hex( $string, $key );
+if ($algorithm == 1) {
+    $digest = hmac_sha1_hex($string, $key);
+} else {
+    $digest = hmac_md5_hex($string, $key);
 }
 
 $verbose && print "\nSigned String: $string\n\n";
@@ -165,82 +168,96 @@ $verbose && print "\nUrl: $url\n";
 $verbose && print "\nsigning_signature: $signing_signature\n";
 $verbose && print "\ndigest: $digest\n";
 
-if ($urlHasParams == -1) { # no application query parameters.
-    if ( ! defined($proxy)) {
-      if ( ! $pathparams) {
-        print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . 
$signing_signature . $digest . "'\n\n";
-      } else {
-        my $index = rindex($url, '/');
-        $url = substr($url,0,$index);
-        my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
-        if (defined($sig_anchor)) {
-          print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . 
";${sig_anchor}=" . $encoded . "/$file" . "'\n\n";
+if ($urlHasParams == -1) {    # no application query parameters.
+    if (!defined($proxy)) {
+        if (!$pathparams) {
+            print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . 
$signing_signature . $digest . "'\n\n";
         } else {
-          print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . "/" 
. $encoded . "/$file" . "'\n\n";
+            my $index = rindex($url, '/');
+            $url = substr($url, 0, $index);
+            my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
+            if (defined($sig_anchor)) {
+                print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url 
. ";${sig_anchor}=" . $encoded . "/$file" . "'\n\n";
+            } else {
+                print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url 
. "/" . $encoded . "/$file" . "'\n\n";
+            }
         }
-      }
     } else {
-      if ( ! $pathparams) {
-        print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy '$scheme" 
. $url . $signing_signature . $digest .
-          "'\n\n";
-      } else {
-        my $index = rindex($url, '/');
-        $url = substr($url,0,$index);
-        my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
-        if (defined($sig_anchor)) {
-          print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . ";${sig_anchor}=" . $encoded .  "/$file" . "'\n\n";
+        if (!$pathparams) {
+            print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . $signing_signature . $digest . "'\n\n";
         } else {
-          print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . "/" . $encoded .  "/$file" . "'\n\n";
+            my $index = rindex($url, '/');
+            $url = substr($url, 0, $index);
+            my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
+            if (defined($sig_anchor)) {
+                print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme"
+                  . $url
+                  . ";${sig_anchor}="
+                  . $encoded
+                  . "/$file" . "'\n\n";
+            } else {
+                print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . "/" . $encoded . "/$file" . "'\n\n";
+            }
         }
-      }
     }
-} else { # has application parameters.
+} else {    # has application parameters.
     $url = (split(/\?/, $url))[0];
-    if ( ! defined($proxy)) {
-      if ( ! $pathparams) {
-        print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . 
$signing_signature . $digest . "'\n\n";
-      } else {
-        my $index = rindex($url, '/');
-        $url = substr($url,0,$index);
-        my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
-        if (defined($sig_anchor)) {
-          print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . 
";${sig_anchor}=" . $encoded  . "/" . $file . "?$query_params"
-          . "'\n\n";
+    if (!defined($proxy)) {
+        if (!$pathparams) {
+            print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . 
$signing_signature . $digest . "'\n\n";
         } else {
-          print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url . "/" 
. $encoded  . "/" . $file . "?$query_params"
-          . "'\n\n";
+            my $index = rindex($url, '/');
+            $url = substr($url, 0, $index);
+            my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
+            if (defined($sig_anchor)) {
+                print "curl -s -o /dev/null -v --max-redirs 0 '$scheme"
+                  . $url
+                  . ";${sig_anchor}="
+                  . $encoded . "/"
+                  . $file
+                  . "?$query_params" . "'\n\n";
+            } else {
+                print "curl -s -o /dev/null -v --max-redirs 0 '$scheme" . $url 
. "/" . $encoded . "/" . $file . "?$query_params"
+                  . "'\n\n";
+            }
         }
-      }
     } else {
-      if ( ! $pathparams) {
-        print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy '$scheme" 
. $url . $signing_signature . $digest .
-         "'\n\n";
-      } else {
-        my $index = rindex($url, '/');
-        $url = substr($url,0,$index);
-        my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
-        if (defined($sig_anchor)) {
-          print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . ";${sig_anchor}=" . $encoded  . "/" . $file . 
"?$query_params"
-          . "'\n\n";
+        if (!$pathparams) {
+            print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . $signing_signature . $digest . "'\n\n";
         } else {
-          print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme" . $url . "/" . $encoded .  "/$file?$query_params" . "'\n\n";
+            my $index = rindex($url, '/');
+            $url = substr($url, 0, $index);
+            my $encoded = MIME::Base64::URLSafe::encode($signing_signature . 
$digest);
+            if (defined($sig_anchor)) {
+                print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme"
+                  . $url
+                  . ";${sig_anchor}="
+                  . $encoded . "/"
+                  . $file
+                  . "?$query_params" . "'\n\n";
+            } else {
+                print "curl -s -o /dev/null -v --max-redirs 0 --proxy $proxy 
'$scheme"
+                  . $url . "/"
+                  . $encoded
+                  . "/$file?$query_params" . "'\n\n";
+            }
         }
-      }
     }
 }
 
-sub help {
-       print "sign.pl - Example signing utility in perl for signed URLs\n";
-       print "Usage: \n";
-       print "  ./sign.pl  --url <value> \\ \n";
-       print "             --useparts <value> \\ \n";
-       print "             --algorithm <value> \\ \n";
-       print "             --duration <value> \\ \n";
-       print "             --keyindex <value> \\ \n";
-       print "             [--client <value>] \\ \n";
-       print "             --key <value>  \\ \n";
-       print "             [--verbose] \n";
-       print "             [--pathparams] \n";
-       print "             [--proxy <url:port value>] ex value: 
http://myproxy:80\n";;
-       print "\n";
+sub help
+{
+    print "sign.pl - Example signing utility in perl for signed URLs\n";
+    print "Usage: \n";
+    print "  ./sign.pl  --url <value> \\ \n";
+    print "             --useparts <value> \\ \n";
+    print "             --algorithm <value> \\ \n";
+    print "             --duration <value> \\ \n";
+    print "             --keyindex <value> \\ \n";
+    print "             [--client <value>] \\ \n";
+    print "             --key <value>  \\ \n";
+    print "             [--verbose] \n";
+    print "             [--pathparams] \n";
+    print "             [--proxy <url:port value>] ex value: 
http://myproxy:80\n";;
+    print "\n";
 }
diff --git a/proxy/http/test_http_client.pl b/proxy/http/test_http_client.pl
index 68e6d9d..24a6281 100644
--- a/proxy/http/test_http_client.pl
+++ b/proxy/http/test_http_client.pl
@@ -28,7 +28,6 @@ sub make_proxy_request($$$$$);
 sub make_doc_filename($);
 sub make_doc_http_filename($);
 
-
 ###########################################################
 #
 # global configuration parameters
@@ -44,54 +43,39 @@ my ($save_http_doc)   = 0;
 ###########################################################
 sub process_input_http_requests_file($$$)
 {
-       my ($filename, $proxy_name, $proxy_port) = @_;
-       my ($input, $host_name, $host_port, $request, $line);
-
-       #open input file for read
-       unless (open input, "<$filename")
-       {
-               print "cannot open $filename: $!\n";
-               return;
-       }
-
-       while ($line = <input>)
-       {
-               $request .= $line;
-               #replace \n with \r\n
-               if (not $line =~ m/\r/)
-               {
-                       $line =~ s/\n/\r\n/;
-               }
-               if ($line =~ m/host/i)
-               {
-                       ($_, $host_name, $host_port) = split( /:/, $line, 3);
-                       if (not $host_port)
-                       {
-                               $host_port = 80;
-                       }
-               }
-               elsif (length($line) <= 2 && $line == "\n")
-               {
-                       $request .= $line;
-                       if ($proxy_name and $proxy_port)
-                       {
-                               $request = make_proxy_request(
-                                       $request,
-                                       $host_name,
-                                       $host_port,
-                                       $proxy_name,
-                                   $proxy_port);
-                               spawn_http_request($proxy_name, $proxy_port, 
$request);
-                       }
-                       else
-                       {
-                               print $request;
-                               spawn_http_request($host_name, $host_port, 
$request);
-                       }
-                       $request = "";
-               }
-       }
-       return;
+    my ($filename, $proxy_name, $proxy_port) = @_;
+    my ($input, $host_name, $host_port, $request, $line);
+
+    #open input file for read
+    unless (open input, "<$filename") {
+        print "cannot open $filename: $!\n";
+        return;
+    }
+
+    while ($line = <input>) {
+        $request .= $line;
+        #replace \n with \r\n
+        if (not $line =~ m/\r/) {
+            $line =~ s/\n/\r\n/;
+        }
+        if ($line =~ m/host/i) {
+            ($_, $host_name, $host_port) = split(/:/, $line, 3);
+            if (not $host_port) {
+                $host_port = 80;
+            }
+        } elsif (length($line) <= 2 && $line == "\n") {
+            $request .= $line;
+            if ($proxy_name and $proxy_port) {
+                $request = make_proxy_request($request, $host_name, 
$host_port, $proxy_name, $proxy_port);
+                spawn_http_request($proxy_name, $proxy_port, $request);
+            } else {
+                print $request;
+                spawn_http_request($host_name, $host_port, $request);
+            }
+            $request = "";
+        }
+    }
+    return;
 }
 ###########################################################
 #
@@ -100,21 +84,18 @@ sub process_input_http_requests_file($$$)
 ###########################################################
 sub spawn_http_request($$$)
 {
-       my($hostname, $hostport, $request) = @_;
-
-       my ($pid);
-       if (!defined ($pid = fork))
-       {
-               print "fork failed", "\n";
-               exit;
-       }
-       elsif ($pid)
-       {   # parent
-               return;
-       }
-       # else, I am the child
-       do_http_request ($hostname, $hostport, $request);
-       exit;
+    my ($hostname, $hostport, $request) = @_;
+
+    my ($pid);
+    if (!defined($pid = fork)) {
+        print "fork failed", "\n";
+        exit;
+    } elsif ($pid) {    # parent
+        return;
+    }
+    # else, I am the child
+    do_http_request($hostname, $hostport, $request);
+    exit;
 }
 ###########################################################
 #
@@ -123,33 +104,31 @@ sub spawn_http_request($$$)
 ###########################################################
 sub spawn_http_request($$$)
 {
-       my ($hostname, $hostport, $request) = @_;
-       my ($line);
-       my ($iaddr, $paddr, $proto);
-
-       $hostname =~ s/\s//g;
-
-       $iaddr     = inet_aton($hostname)   or die "no host: $hostname", "\n";
-       $paddr     = sockaddr_in($hostport, $iaddr);
-       $proto     = getprotobyname('tcp');
-
-       unless (socket(Host, PF_INET, SOCK_STREAM, $proto))
-       {
-               print "socket: $!", "\n";
-               exit;
-       }
-       unless (connect(Host, $paddr))
-       {
-               print "connect: $!", "\n";
-               exit;
-       }
-       syswrite Host, $request, length($request);
-       #process response
-       process_http_response($request, $Host, 1, 1);
-       print "request is done\n";
-       close (Host);
-
-       return;
+    my ($hostname, $hostport, $request) = @_;
+    my ($line);
+    my ($iaddr, $paddr, $proto);
+
+    $hostname =~ s/\s//g;
+
+    $iaddr = inet_aton($hostname) or die "no host: $hostname", "\n";
+    $paddr = sockaddr_in($hostport, $iaddr);
+    $proto = getprotobyname('tcp');
+
+    unless (socket(Host, PF_INET, SOCK_STREAM, $proto)) {
+        print "socket: $!", "\n";
+        exit;
+    }
+    unless (connect(Host, $paddr)) {
+        print "connect: $!", "\n";
+        exit;
+    }
+    syswrite Host, $request, length($request);
+    #process response
+    process_http_response($request, $Host, 1, 1);
+    print "request is done\n";
+    close(Host);
+
+    return;
 }
 ###########################################################
 #
@@ -165,62 +144,52 @@ sub spawn_http_request($$$)
 ###########################################################
 sub process_http_response($$$$)
 {
-       my ($request, $Host, $save_doc_flag, $save_http_flag) = @_;
-       my ($doc_filename, $http_filename);
-
-       my ($doc_filename)      = make_doc_filename($request);
-       my ($doc_http_filename) = make_doc_http_filename($request);
-
-       print $doc_filename, ' ', $doc_http_filename, "\n";
-
-       my ($doc_file, $doc_http_file);
-       ########################
-       # open files for write #
-       ########################
-       if ($save_doc_flag)
-       {
-               unless (open doc_file, ">$doc_filename")
-               {
-                       print "cannot open $doc_filename for write", "\n";
-                       return;
-               }
-       }
-       if ($save_http_flag)
-       {
-               unless (open doc_http_file, ">$doc_http_filename")
-               {
-                       print "cannot open $doc_http_filename for write", "\n";
-                       return;
-               }
-       }
-       ##############################
-       # write http header and body #
-       ##############################
-       my ($http_header) = 1;
-       my ($doc_body)    = 0;
-       my ($line);
-
-       while ($line = <Host>)
-       {
-               if ($http_header)
-               {
-                       if ($save_http_flag)
-                       {
-                               print doc_http_file $line;
-                       }
-                       if (length($line) <= 2 && $line == "\n")
-                       {
-                               close doc_http_file;
-                               $http_header = 0;
-                               $doc_body    = 1;
-                       }
-               }
-               elsif ($save_doc_flag)
-               {
-                       print doc_file $line;
-               }
-       }
-       return;
+    my ($request, $Host, $save_doc_flag, $save_http_flag) = @_;
+    my ($doc_filename, $http_filename);
+
+    my ($doc_filename)      = make_doc_filename($request);
+    my ($doc_http_filename) = make_doc_http_filename($request);
+
+    print $doc_filename, ' ', $doc_http_filename, "\n";
+
+    my ($doc_file, $doc_http_file);
+    ########################
+    # open files for write #
+    ########################
+    if ($save_doc_flag) {
+        unless (open doc_file, ">$doc_filename") {
+            print "cannot open $doc_filename for write", "\n";
+            return;
+        }
+    }
+    if ($save_http_flag) {
+        unless (open doc_http_file, ">$doc_http_filename") {
+            print "cannot open $doc_http_filename for write", "\n";
+            return;
+        }
+    }
+    ##############################
+    # write http header and body #
+    ##############################
+    my ($http_header) = 1;
+    my ($doc_body)    = 0;
+    my ($line);
+
+    while ($line = <Host>) {
+        if ($http_header) {
+            if ($save_http_flag) {
+                print doc_http_file $line;
+            }
+            if (length($line) <= 2 && $line == "\n") {
+                close doc_http_file;
+                $http_header = 0;
+                $doc_body    = 1;
+            }
+        } elsif ($save_doc_flag) {
+            print doc_file $line;
+        }
+    }
+    return;
 }
 ###########################################################
 #
@@ -234,21 +203,20 @@ sub process_http_response($$$$)
 ###########################################################
 sub make_proxy_request($$$$$)
 {
-       my ($request, $host_name, $host_port, $proxy_name, $proxy_port) = @_;
-       my ($proxy_request) = $request;
+    my ($request, $host_name, $host_port, $proxy_name, $proxy_port) = @_;
+    my ($proxy_request) = $request;
 
-       my ($url_prefix) = "http:\/\/$host_name\/";
-       $url_prefix =~ s/\s//g;
+    my ($url_prefix) = "http:\/\/$host_name\/";
+    $url_prefix =~ s/\s//g;
 
-       if ($host_port != 80)
-       {
-               $url_prefix .= ":$host_port\/";
-       }
-       $url_prefix =~ s/\s//g;
+    if ($host_port != 80) {
+        $url_prefix .= ":$host_port\/";
+    }
+    $url_prefix =~ s/\s//g;
 
-       $proxy_request =~ s/\//$url_prefix/;
+    $proxy_request =~ s/\//$url_prefix/;
 
-       return ($proxy_request);
+    return ($proxy_request);
 }
 ###########################################################
 #
@@ -258,45 +226,44 @@ sub make_proxy_request($$$$$)
 ###########################################################
 sub make_doc_filename($)
 {
-       my ($request) = @_;
-       my ($doc_filename);
-       my ($host_name);
-
-       ($_, $host_name) = split (/host:/i, $request, 2);
-       ($host_name, $_) = split (/ /, $host_name);
-       #replace every . with _
-       $host_name =~ s/\./_/g;
-
-       print $request, "\n";
-       print $host_name, "\n";
-
-       ($_, $doc_filename) = split (/ /, $request, 2);
-       #remove scheme://host_name if this is a proxy request
-#      if ($doc_filename =~ m/:\/\//)
-#      {
-#
-#      }
-#
-#      @@@@@@@@
+    my ($request) = @_;
+    my ($doc_filename);
+    my ($host_name);
+
+    ($_, $host_name) = split(/host:/i, $request, 2);
+    ($host_name, $_) = split(/ /, $host_name);
+    #replace every . with _
+    $host_name =~ s/\./_/g;
 
-       ($_, $doc_filename) = split (/\//, $doc_filename, 2);
-       $doc_filename =~ s/\//_/g;
-       #remove any white spaces
-       $doc_filename =~ s/\s//g;
+    print $request,   "\n";
+    print $host_name, "\n";
 
-       print "doc name is: ", $doc_filename, "\n";
+    ($_, $doc_filename) = split(/ /, $request, 2);
+    #remove scheme://host_name if this is a proxy request
+    #  if ($doc_filename =~ m/:\/\//)
+    #  {
+    #
+    #  }
+    #
+    #  @@@@@@@@
 
-       if (length($doc_filename) <= 1)
-       {
-               $doc_filename = 'default.html';
-       }
+    ($_, $doc_filename) = split(/\//, $doc_filename, 2);
+    $doc_filename =~ s/\//_/g;
+    #remove any white spaces
+    $doc_filename =~ s/\s//g;
 
-       $doc_filename = $host_name . '_' . $doc_filename;
+    print "doc name is: ", $doc_filename, "\n";
 
-       #remove any white spaces
-       $doc_filename =~ s/\s//g;
+    if (length($doc_filename) <= 1) {
+        $doc_filename = 'default.html';
+    }
 
-       return ($doc_filename);
+    $doc_filename = $host_name . '_' . $doc_filename;
+
+    #remove any white spaces
+    $doc_filename =~ s/\s//g;
+
+    return ($doc_filename);
 }
 ###########################################################
 #
@@ -305,43 +272,34 @@ sub make_doc_filename($)
 ###########################################################
 sub make_doc_http_filename($)
 {
-       my ($request) = @_;
-       my ($doc_http_filename);
+    my ($request) = @_;
+    my ($doc_http_filename);
 
-       $doc_http_filename = make_doc_filename($request);
-       $doc_http_filename .= '.http';
+    $doc_http_filename = make_doc_filename($request);
+    $doc_http_filename .= '.http';
 
-       return ($doc_http_filename);
+    return ($doc_http_filename);
 }
 ###########################################################
 #
 # main entry point
 #
 ###########################################################
-if ($#ARGV != 1 and $#ARGV != 3)
-{
-       print 'no proxy : test_http_client <input file> <number of users>', 
"\n";
-       print 'use proxy: test_http_client <input file> <number of users> ';
-       print '<proxy host> <proxy port>', "\n";
-       exit;
+if ($#ARGV != 1 and $#ARGV != 3) {
+    print 'no proxy : test_http_client <input file> <number of users>', "\n";
+    print 'use proxy: test_http_client <input file> <number of users> ';
+    print '<proxy host> <proxy port>', "\n";
+    exit;
 }
 
-if ($#ARGV == 1)
-{
-       my ($infile, $nusers) = @ARGV;
-       process_input_http_requests_file($infile, "", "");
-}
-elsif ($#ARGV == 3)
-{
-       my ($infile, $nusers, $proxy_name, $proxy_port) = @ARGV;
-       process_input_http_requests_file($infile, $proxy_name, $proxy_port);
+if ($#ARGV == 1) {
+    my ($infile, $nusers) = @ARGV;
+    process_input_http_requests_file($infile, "", "");
+} elsif ($#ARGV == 3) {
+    my ($infile, $nusers, $proxy_name, $proxy_port) = @ARGV;
+    process_input_http_requests_file($infile, $proxy_name, $proxy_port);
 }
 
 print "\n";
 exit;
 
-
-
-
-
-
diff --git a/proxy/http/test_proxy.pl b/proxy/http/test_proxy.pl
index 94de375..6465477 100644
--- a/proxy/http/test_proxy.pl
+++ b/proxy/http/test_proxy.pl
@@ -29,16 +29,15 @@ sub make_proxy_request($$$$$);
 sub make_doc_filename($);
 sub make_doc_http_filename($);
 
-
 ###########################################################
 #
 # global configuration parameters
 #
 ###########################################################
-glob ($number_of_users) = 1;
-glob ($save_http_doc)   = 0; #if false (0) don't save a copy
-                                #of the doc and header files.
-glob ($method) = "GET";      #method to use in http requests
+glob($number_of_users) = 1;
+glob($save_http_doc)   = 0;        #if false (0) don't save a copy
+                                   #of the doc and header files.
+glob($method)          = "GET";    #method to use in http requests
 
 ###########################################################
 #
@@ -48,13 +47,13 @@ glob ($method) = "GET";      #method to use in http requests
 ###########################################################
 sub compare_files($$$)
 {
-       my ($dfile, $pfile, $log_file) = @_;
-       @args = ("diff", $dfile, $pfile, ">>", $log_file);
+    my ($dfile, $pfile, $log_file) = @_;
+    @args = ("diff", $dfile, $pfile, ">>", $log_file);
 
-       #diff returns 0 if files are identical
-       $is_diff = system (@args);
+    #diff returns 0 if files are identical
+    $is_diff = system(@args);
 
-       return ($is_diff);
+    return ($is_diff);
 }
 ###########################################################
 #
@@ -68,21 +67,18 @@ sub compare_files($$$)
 ###########################################################
 sub spawn_task($$$$)
 {
-       my($hostname, $hostport, $request, $run_task) = @_;
-
-       my ($pid);
-       if (!defined ($pid = fork))
-       {
-               print "fork failed", "\n";
-               exit;
-       }
-       elsif ($pid)
-       {   # parent
-               return;
-       }
-       # else, I am the child
-       run_task ($hostname, $hostport, $request);
-       exit;
+    my ($hostname, $hostport, $request, $run_task) = @_;
+
+    my ($pid);
+    if (!defined($pid = fork)) {
+        print "fork failed", "\n";
+        exit;
+    } elsif ($pid) {    # parent
+        return;
+    }
+    # else, I am the child
+    run_task($hostname, $hostport, $request);
+    exit;
 }
 ###########################################################
 #
@@ -91,236 +87,214 @@ sub spawn_task($$$$)
 ###########################################################
 sub run_proxy_keep_alive
 {
-       my ($proxy_host_name, $proxy_port,
-}
+    my (
+        $proxy_host_name, $proxy_port,;
+    }
 
-@@@@@@@@@@
+    @@@@@@@@@@
 ###########################################################
-#
-# subroutine: do_http_request hostname request
-#
+      #
+      # subroutine: do_http_request hostname request
+      #
 ###########################################################
-sub do_http_request($$$)
-{
-       my ($hostname, $hostport, $request) = @_;
-       my ($line);
-       my ($iaddr, $paddr, $proto);
-
-       $hostname =~ s/\s//g;
-
-       $iaddr     = inet_aton($hostname)   or die "no host: $hostname", "\n";
-       $paddr     = sockaddr_in($hostport, $iaddr);
-       $proto     = getprotobyname('tcp');
-
-       unless (socket(Host, PF_INET, SOCK_STREAM, $proto))
-       {
-               print "socket: $!", "\n";
-               exit;
-       }
-       unless (connect(Host, $paddr))
-       {
-               print "connect: $!", "\n";
-               exit;
-       }
-       syswrite Host, $request, length($request);
-       #process response
-       process_http_response($request, $Host, 1, 1);
-       print "request is done\n";
-       close (Host);
-
-       return;
-}
+      sub do_http_request($$$)
+    {
+        my ($hostname, $hostport, $request) = @_;
+        my ($line);
+        my ($iaddr, $paddr, $proto);
+
+        $hostname =~ s/\s//g;
+
+        $iaddr = inet_aton($hostname) or die "no host: $hostname", "\n";
+        $paddr = sockaddr_in($hostport, $iaddr);
+        $proto = getprotobyname('tcp');
+
+        unless (socket(Host, PF_INET, SOCK_STREAM, $proto)) {
+            print "socket: $!", "\n";
+            exit;
+        }
+        unless (connect(Host, $paddr)) {
+            print "connect: $!", "\n";
+            exit;
+        }
+        syswrite Host, $request, length($request);
+        #process response
+        process_http_response($request, $Host, 1, 1);
+        print "request is done\n";
+        close(Host);
+
+        return;
+    }
 ###########################################################
-#
-# subroutine: process_http_response
-#     request,
-#     host_socket,
-#     save_doc_flag,
-#     save_http_flag
-#
-# options for save doc
-# - save http response header in doc.http
-# - save http doc in a unique file
+    #
+    # subroutine: process_http_response
+    #     request,
+    #     host_socket,
+    #     save_doc_flag,
+    #     save_http_flag
+    #
+    # options for save doc
+    # - save http response header in doc.http
+    # - save http doc in a unique file
 ###########################################################
-sub process_http_response($$$$)
-{
-       my ($request, $Host, $save_doc_flag, $save_http_flag) = @_;
-       my ($doc_filename, $http_filename);
-
-       my ($doc_filename)      = make_doc_filename($request);
-       my ($doc_http_filename) = make_doc_http_filename($request);
-
-       print $doc_filename, ' ', $doc_http_filename, "\n";
-
-       my ($doc_file, $doc_http_file);
-       ########################
-       # open files for write #
-       ########################
-       if ($save_doc_flag)
-       {
-               unless (open doc_file, ">$doc_filename")
-               {
-                       print "cannot open $doc_filename for write", "\n";
-                       return;
-               }
-       }
-       if ($save_http_flag)
-       {
-               unless (open doc_http_file, ">$doc_http_filename")
-               {
-                       print "cannot open $doc_http_filename for write", "\n";
-                       return;
-               }
-       }
-       ##############################
-       # write http header and body #
-       ##############################
-       my ($http_header) = 1;
-       my ($doc_body)    = 0;
-       my ($line);
-
-       while ($line = <Host>)
-       {
-               if ($http_header)
-               {
-                       if ($save_http_flag)
-                       {
-                               print doc_http_file $line;
-                       }
-                       if (length($line) <= 2 && $line == "\n")
-                       {
-                               close doc_http_file;
-                               $http_header = 0;
-                               $doc_body    = 1;
-                       }
-               }
-               elsif ($save_doc_flag)
-               {
-                       print doc_file $line;
-               }
-       }
-       return;
-}
+    sub process_http_response($$$$)
+    {
+        my ($request, $Host, $save_doc_flag, $save_http_flag) = @_;
+        my ($doc_filename, $http_filename);
+
+        my ($doc_filename)      = make_doc_filename($request);
+        my ($doc_http_filename) = make_doc_http_filename($request);
+
+        print $doc_filename, ' ', $doc_http_filename, "\n";
+
+        my ($doc_file, $doc_http_file);
+        ########################
+        # open files for write #
+        ########################
+        if ($save_doc_flag) {
+            unless (open doc_file, ">$doc_filename") {
+                print "cannot open $doc_filename for write", "\n";
+                return;
+            }
+        }
+        if ($save_http_flag) {
+            unless (open doc_http_file, ">$doc_http_filename") {
+                print "cannot open $doc_http_filename for write", "\n";
+                return;
+            }
+        }
+        ##############################
+        # write http header and body #
+        ##############################
+        my ($http_header) = 1;
+        my ($doc_body)    = 0;
+        my ($line);
+
+        while ($line = <Host>) {
+            if ($http_header) {
+                if ($save_http_flag) {
+                    print doc_http_file $line;
+                }
+                if (length($line) <= 2 && $line == "\n") {
+                    close doc_http_file;
+                    $http_header = 0;
+                    $doc_body    = 1;
+                }
+            } elsif ($save_doc_flag) {
+                print doc_file $line;
+            }
+        }
+        return;
+    }
 ###########################################################
-#
-# subroutine: make_proxy_request
-#       request
-#       host_name
-#       host_port
-#       proxy_name
-#       proxy_port
-#
+    #
+    # subroutine: make_proxy_request
+    #       request
+    #       host_name
+    #       host_port
+    #       proxy_name
+    #       proxy_port
+    #
 ###########################################################
-sub make_proxy_request($$$$$)
-{
-       my ($request, $host_name, $host_port, $proxy_name, $proxy_port) = @_;
-       my ($proxy_request) = $request;
+    sub make_proxy_request($$$$$)
+    {
+        my ($request, $host_name, $host_port, $proxy_name, $proxy_port) = @_;
+        my ($proxy_request) = $request;
 
-       my ($url_prefix) = "http:\/\/$host_name\/";
-       $url_prefix =~ s/\s//g;
+        my ($url_prefix) = "http:\/\/$host_name\/";
+        $url_prefix =~ s/\s//g;
 
-       if ($host_port != 80)
-       {
-               $url_prefix .= ":$host_port\/";
-       }
-       $url_prefix =~ s/\s//g;
+        if ($host_port != 80) {
+            $url_prefix .= ":$host_port\/";
+        }
+        $url_prefix =~ s/\s//g;
 
-       $proxy_request =~ s/\//$url_prefix/;
+        $proxy_request =~ s/\//$url_prefix/;
 
-       return ($proxy_request);
-}
+        return ($proxy_request);
+    }
 ###########################################################
-#
-# subroutine: make_doc_filename request
-#
-# file name is: <host_name><doc_name>
+    #
+    # subroutine: make_doc_filename request
+    #
+    # file name is: <host_name><doc_name>
 ###########################################################
-sub make_doc_filename($)
-{
-       my ($request) = @_;
-       my ($doc_filename);
-       my ($host_name);
-
-       ($_, $host_name) = split (/host:/i, $request, 2);
-       ($host_name, $_) = split (/ /, $host_name);
-       #replace every . with _
-       $host_name =~ s/\./_/g;
-
-       print $request, "\n";
-       print $host_name, "\n";
-
-       ($_, $doc_filename) = split (/ /, $request, 2);
-       #remove scheme://host_name if this is a proxy request
-#      if ($doc_filename =~ m/:\/\//)
-#      {
-#
-#      }
-#
-#      @@@@@@@@
-
-       ($_, $doc_filename) = split (/\//, $doc_filename, 2);
-       $doc_filename =~ s/\//_/g;
-       #remove any white spaces
-       $doc_filename =~ s/\s//g;
-
-       print "doc name is: ", $doc_filename, "\n";
-
-       if (length($doc_filename) <= 1)
-       {
-               $doc_filename = 'default.html';
-       }
-
-       $doc_filename = $host_name . '_' . $doc_filename;
-
-       #remove any white spaces
-       $doc_filename =~ s/\s//g;
-
-       return ($doc_filename);
-}
+    sub make_doc_filename($)
+    {
+        my ($request) = @_;
+        my ($doc_filename);
+        my ($host_name);
+
+        ($_, $host_name) = split(/host:/i, $request, 2);
+        ($host_name, $_) = split(/ /, $host_name);
+        #replace every . with _
+        $host_name =~ s/\./_/g;
+
+        print $request,   "\n";
+        print $host_name, "\n";
+
+        ($_, $doc_filename) = split(/ /, $request, 2);
+        #remove scheme://host_name if this is a proxy request
+        #      if ($doc_filename =~ m/:\/\//)
+        #      {
+        #
+        #      }
+        #
+        #      @@@@@@@@
+
+        ($_, $doc_filename) = split(/\//, $doc_filename, 2);
+        $doc_filename =~ s/\//_/g;
+        #remove any white spaces
+        $doc_filename =~ s/\s//g;
+
+        print "doc name is: ", $doc_filename, "\n";
+
+        if (length($doc_filename) <= 1) {
+            $doc_filename = 'default.html';
+        }
+
+        $doc_filename = $host_name . '_' . $doc_filename;
+
+        #remove any white spaces
+        $doc_filename =~ s/\s//g;
+
+        return ($doc_filename);
+    }
 ###########################################################
-#
-# subroutine: make_doc_filename request
-#
+    #
+    # subroutine: make_doc_filename request
+    #
 ###########################################################
-sub make_doc_http_filename($)
-{
-       my ($request) = @_;
-       my ($doc_http_filename);
+    sub make_doc_http_filename($)
+    {
+        my ($request) = @_;
+        my ($doc_http_filename);
 
-       $doc_http_filename = make_doc_filename($request);
-       $doc_http_filename .= '.http';
+        $doc_http_filename = make_doc_filename($request);
+        $doc_http_filename .= '.http';
 
-       return ($doc_http_filename);
-}
+        return ($doc_http_filename);
+    }
 ###########################################################
-#
-# main entry point
-#
+    #
+    # main entry point
+    #
 ###########################################################
-if ($#ARGV != 1 and $#ARGV != 3)
-{
-       print 'no proxy : test_http_client <input file> <number of users>', 
"\n";
-       print 'use proxy: test_http_client <input file> <number of users> ';
-       print '<proxy host> <proxy port>', "\n";
-       exit;
-}
-
-if ($#ARGV == 1)
-{
-       my ($infile, $nusers) = @ARGV;
-       process_input_http_requests_file($infile, "", "");
-}
-elsif ($#ARGV == 3)
-{
-       my ($infile, $nusers, $proxy_name, $proxy_port) = @ARGV;
-       process_input_http_requests_file($infile, $proxy_name, $proxy_port);
-}
-
-print "\n";
-exit;
-
-
-
-
-
+    if ($#ARGV != 1 and $#ARGV != 3) {
+        print 'no proxy : test_http_client <input file> <number of users>', 
"\n";
+        print 'use proxy: test_http_client <input file> <number of users> ';
+        print '<proxy host> <proxy port>', "\n";
+        exit;
+    }
+
+    if ($#ARGV == 1) {
+        my ($infile, $nusers) = @ARGV;
+        process_input_http_requests_file($infile, "", "");
+    } elsif ($#ARGV == 3) {
+        my ($infile, $nusers, $proxy_name, $proxy_port) = @ARGV;
+        process_input_http_requests_file($infile, $proxy_name, $proxy_port);
+    }
+
+    print "\n";
+    exit;
 
diff --git a/tools/changelog.pl b/tools/changelog.pl
index ba62f09..0de170e 100755
--- a/tools/changelog.pl
+++ b/tools/changelog.pl
@@ -22,105 +22,96 @@ use warnings;
 use WWW::Curl::Easy;
 use JSON;
 
-my $owner = shift;
-my $repo = shift;
+my $owner     = shift;
+my $repo      = shift;
 my $milestone = shift;
-my $auth = shift;
-my $url = "https://api.github.com";;
+my $auth      = shift;
+my $url       = "https://api.github.com";;
 
 sub rate_fail
 {
-  print STDERR "You have exceeded your rate limit. Try using an auth token.\n";
-  exit 2;
+    print STDERR "You have exceeded your rate limit. Try using an auth 
token.\n";
+    exit 2;
 }
 
 sub milestone_lookup
 {
-  my $curl = shift;
-  my $url = shift;
-  my $owner = shift;
-  my $repo = shift;
-  my $milestone_title = shift;
-  my $endpoint = "/repos/$owner/$repo/milestones";
-
-  my $resp_body;
-
-  $curl->setopt(CURLOPT_WRITEDATA, \$resp_body);
-  $curl->setopt(CURLOPT_URL, $url . $endpoint);
-
-  my $retcode = $curl->perform();
-  if ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 200)
-  {
-    my $milestones = from_json($resp_body);
-    foreach my $milestone (@{ $milestones })
-    {
-      if ($milestone->{title} eq $milestone_title)
-      {
-        return $milestone->{number};
-      }
+    my $curl            = shift;
+    my $url             = shift;
+    my $owner           = shift;
+    my $repo            = shift;
+    my $milestone_title = shift;
+    my $endpoint        = "/repos/$owner/$repo/milestones";
+
+    my $resp_body;
+
+    $curl->setopt(CURLOPT_WRITEDATA, \$resp_body);
+    $curl->setopt(CURLOPT_URL,       $url . $endpoint);
+
+    my $retcode = $curl->perform();
+    if ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 200) {
+        my $milestones = from_json($resp_body);
+        foreach my $milestone (@{$milestones}) {
+            if ($milestone->{title} eq $milestone_title) {
+                return $milestone->{number};
+            }
+        }
+    } elsif ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 403) {
+        rate_fail();
     }
-  }
-  elsif ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 403)
-  {
-    rate_fail();
-  }
 
-  undef;
+    undef;
 }
 
 sub is_merged
 {
-  my $curl = shift;
-  my $url = shift;
-  my $owner = shift;
-  my $repo = shift;
-  my $issue_id = shift;
-  my $endpoint = "/repos/$owner/$repo/pulls/$issue_id/merge";
-
-  my $resp_body;
-
-  $curl->setopt(CURLOPT_WRITEDATA, \$resp_body);
-  $curl->setopt(CURLOPT_URL, $url . $endpoint);
-
-  my $retcode = $curl->perform();
-  if ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 204) {
-    return 1;
-  }
-  elsif ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 403)
-  {
-    rate_fail();
-  }
-
-  undef;
+    my $curl     = shift;
+    my $url      = shift;
+    my $owner    = shift;
+    my $repo     = shift;
+    my $issue_id = shift;
+    my $endpoint = "/repos/$owner/$repo/pulls/$issue_id/merge";
+
+    my $resp_body;
+
+    $curl->setopt(CURLOPT_WRITEDATA, \$resp_body);
+    $curl->setopt(CURLOPT_URL,       $url . $endpoint);
+
+    my $retcode = $curl->perform();
+    if ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 204) {
+        return 1;
+    } elsif ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 403) {
+        rate_fail();
+    }
+
+    undef;
 }
 
 sub issue_search
 {
-  my $curl = shift;
-  my $url = shift;
-  my $owner = shift;
-  my $repo = shift;
-  my $milestone_id = shift;
-  my $page = shift;
-  my $endpoint = "/repos/$owner/$repo/issues";
-
-  my $params = "milestone=$milestone_id&state=closed&page=$page";
-
-  my $resp_body;
-
-  $curl->setopt(CURLOPT_WRITEDATA, \$resp_body);
-  $curl->setopt(CURLOPT_URL, $url . $endpoint . '?' . $params);
-
-  my $retcode = $curl->perform();
-  if ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 200) {
-    return from_json($resp_body);
-  }
-  elsif ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 403)
-  {
-    rate_fail();
-  }
-
-  undef;
+    my $curl         = shift;
+    my $url          = shift;
+    my $owner        = shift;
+    my $repo         = shift;
+    my $milestone_id = shift;
+    my $page         = shift;
+    my $endpoint     = "/repos/$owner/$repo/issues";
+
+    my $params = "milestone=$milestone_id&state=closed&page=$page";
+
+    my $resp_body;
+
+    $curl->setopt(CURLOPT_WRITEDATA, \$resp_body);
+    $curl->setopt(CURLOPT_URL,       $url . $endpoint . '?' . $params);
+
+    my $retcode = $curl->perform();
+    if ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 200) {
+        return from_json($resp_body);
+    } elsif ($retcode == 0 && $curl->getinfo(CURLINFO_HTTP_CODE) == 403) {
+        rate_fail();
+    }
+
+    undef;
 }
 
 my $curl = WWW::Curl::Easy->new;
@@ -128,17 +119,15 @@ my $curl = WWW::Curl::Easy->new;
 #$curl->setopt(CURLOPT_VERBOSE, 1);
 $curl->setopt(CURLOPT_HTTPHEADER, ['Accept: application/vnd.github.v3+json', 
'User-Agent: Awesome-Octocat-App']);
 
-if (defined($auth))
-{
-  $curl->setopt(CURLOPT_USERPWD, $auth);
+if (defined($auth)) {
+    $curl->setopt(CURLOPT_USERPWD, $auth);
 }
 
 my $milestone_id = milestone_lookup($curl, $url, $owner, $repo, $milestone);
 
-if (!defined($milestone_id))
-{
-  print STDERR "Milestone not found!\n";
-  exit 1;
+if (!defined($milestone_id)) {
+    print STDERR "Milestone not found!\n";
+    exit 1;
 }
 
 my $issues;
@@ -148,39 +137,33 @@ my $page = 1;
 print STDERR "Looking for issues from Milestone $milestone\n";
 
 do {
-  print STDERR "Page $page\n";
-  $issues = issue_search($curl, $url, $owner, $repo, $milestone_id, $page);
-  foreach my $issue (@{ $issues })
-  {
-    if (defined($issue))
-    {
-      print STDERR "Issue #" . $issue->{number} . " - " . $issue->{title} . " 
";
-
-      if (!exists($issue->{pull_request}))
-      {
-        print STDERR "not a PR.\n";
-        next;
-      }
-
-      if (!is_merged($curl, $url, $owner, $repo, $issue->{number}))
-      {
-        print STDERR "not merged.\n";
-        next;
-      }
-
-      print STDERR "added.\n";
-      push @{ $changelog }, {number => $issue->{number},  title => 
$issue->{title}};
+    print STDERR "Page $page\n";
+    $issues = issue_search($curl, $url, $owner, $repo, $milestone_id, $page);
+    foreach my $issue (@{$issues}) {
+        if (defined($issue)) {
+            print STDERR "Issue #" . $issue->{number} . " - " . 
$issue->{title} . " ";
+
+            if (!exists($issue->{pull_request})) {
+                print STDERR "not a PR.\n";
+                next;
+            }
+
+            if (!is_merged($curl, $url, $owner, $repo, $issue->{number})) {
+                print STDERR "not merged.\n";
+                next;
+            }
+
+            print STDERR "added.\n";
+            push @{$changelog}, {number => $issue->{number}, title => 
$issue->{title}};
+        }
     }
-  }
-  $page++;
-} while (scalar @{ $issues });
+    $page++;
+} while (scalar @{$issues});
 
-if (defined($changelog))
-{
-  print "Changes with Apache Traffic Server $milestone\n";
+if (defined($changelog)) {
+    print "Changes with Apache Traffic Server $milestone\n";
 
-  foreach my $issue (sort {$a->{number} <=> $b->{number}} @{ $changelog })
-  {
-    print "  #$issue->{number} - $issue->{title}\n";
-  }
+    foreach my $issue (sort {$a->{number} <=> $b->{number}} @{$changelog}) {
+        print "  #$issue->{number} - $issue->{title}\n";
+    }
 }
diff --git a/tools/compare_records.pl b/tools/compare_records.pl
index cf00463..eb16cd4 100755
--- a/tools/compare_records.pl
+++ b/tools/compare_records.pl
@@ -38,35 +38,39 @@ use strict;
 use warnings;
 use Getopt::Long;
 
-my($file1, $file2, $in_files, $help);
+my ($file1, $file2, $in_files, $help);
 my %file1_settings;
 my %file2_settings;
 my $diff_metrics;
 
-usage() if (@ARGV < 1 or
-            !GetOptions(
-            'f=s@' => \$in_files,
-            'm' => \$diff_metrics,
-            'help|?' => \$help) or
-            defined $help);
+usage()
+  if (
+    @ARGV < 1
+    or !GetOptions(
+        'f=s@'   => \$in_files,
+        'm'      => \$diff_metrics,
+        'help|?' => \$help
+    )
+    or defined $help
+  );
 
 # Input file is mandatory
 die "\nTwo input files must be specified to compare\n"
-   unless defined $in_files;
+  unless defined $in_files;
 
 # Print the usage
 sub usage
 {
-  print "Unknown option: @_\n" if (@_);
-  print "Provide 2 files to compare configs or metrics.\n";
-  print "By default this tool will diff only configs,\n";
-  print "to get diff of metrics pass -m flag\n\n";
-  print "Usage: compare_records.pl -m -f <filename1> -f <filename2>\n";
-  print "   -m to diff the metrics\n";
-  print "   -h for help\n\n";
-  print "where the files are generated with e.g.\n\n";
-  print "    \$ traffic_ctl config match .\n";
-  exit;
+    print "Unknown option: @_\n" if (@_);
+    print "Provide 2 files to compare configs or metrics.\n";
+    print "By default this tool will diff only configs,\n";
+    print "to get diff of metrics pass -m flag\n\n";
+    print "Usage: compare_records.pl -m -f <filename1> -f <filename2>\n";
+    print "   -m to diff the metrics\n";
+    print "   -h for help\n\n";
+    print "where the files are generated with e.g.\n\n";
+    print "    \$ traffic_ctl config match .\n";
+    exit;
 }
 
 my @file_list = @$in_files;
@@ -76,89 +80,88 @@ my $in_file2 = $file_list[1];
 
 # Open input files
 if (defined $in_file1) {
-  open $file1, $in_file1 or die "Could not open $in_file1: $!";
+    open $file1, $in_file1 or die "Could not open $in_file1: $!";
 }
 if (defined $in_file2) {
-  open $file2, $in_file2 or die "Could not open $in_file2: $!";
+    open $file2, $in_file2 or die "Could not open $in_file2: $!";
 }
 
 # Read input files
 while (my $setting = <$file1>) {
-  chomp $setting;
-  my($record, $value) = split(/:/, $setting);
-  if (defined $diff_metrics) {
-    # Obtain only metrics, excluding configs
-    if ($record !~ /proxy.config/) {
-      $file1_settings{$record} = $value;
-    }
-  } else {
-    # Obtain only configs
-    if ($record =~ /proxy.config/) {
-      $file1_settings{$record} = $value;
+    chomp $setting;
+    my ($record, $value) = split(/:/, $setting);
+    if (defined $diff_metrics) {
+        # Obtain only metrics, excluding configs
+        if ($record !~ /proxy.config/) {
+            $file1_settings{$record} = $value;
+        }
+    } else {
+        # Obtain only configs
+        if ($record =~ /proxy.config/) {
+            $file1_settings{$record} = $value;
+        }
     }
-  }
 }
 close $file1;
 
 while (my $setting = <$file2>) {
-  chomp $setting;
-  my($record, $value) = split(/:/, $setting);
-  if (defined $diff_metrics) {
-    # Obtain only metrics, excluding configs
-    if ($record !~ /proxy.config/) {
-      $file2_settings{$record} = $value;
-    }
-  } else {
-    # Obtain only configs
-    if ($record =~ /proxy.config/) {
-      $file2_settings{$record} = $value;
+    chomp $setting;
+    my ($record, $value) = split(/:/, $setting);
+    if (defined $diff_metrics) {
+        # Obtain only metrics, excluding configs
+        if ($record !~ /proxy.config/) {
+            $file2_settings{$record} = $value;
+        }
+    } else {
+        # Obtain only configs
+        if ($record =~ /proxy.config/) {
+            $file2_settings{$record} = $value;
+        }
     }
-  }
 }
 close $file2;
 
 # Subroutine to compare configs/metrics and obtain common and difference 
between them
 sub compare_configs_or_metrics
 {
-  my($records1, $records2, $file) = @_;
-  my %common_settings;
-  my %diff_settings;
-  my %settings1 = %$records1;
-  my %settings2 = %$records2;
-
-  foreach my $record(sort keys %settings1) {
-    if ($settings2{$record}) {
-      $common_settings{$record} = $settings1{$record};
-    } else {
-      $diff_settings{$record} = $settings1{$record};
+    my ($records1, $records2, $file) = @_;
+    my %common_settings;
+    my %diff_settings;
+    my %settings1 = %$records1;
+    my %settings2 = %$records2;
+
+    foreach my $record (sort keys %settings1) {
+        if ($settings2{$record}) {
+            $common_settings{$record} = $settings1{$record};
+        } else {
+            $diff_settings{$record} = $settings1{$record};
+        }
     }
-  }
 
-  print 
"####################################################################################\n";
-  print "Configs/metrics found only in $file\n";
-  print 
"####################################################################################\n";
-  foreach my $key(sort keys %diff_settings)
-  {
-    print "$key\n";
-  }
-  return (\%common_settings);
+    print 
"####################################################################################\n";
+    print "Configs/metrics found only in $file\n";
+    print 
"####################################################################################\n";
+    foreach my $key (sort keys %diff_settings) {
+        print "$key\n";
+    }
+    return (\%common_settings);
 }
 
 # Subroutine to obtain changes in default values among common configs/metrics
 sub compare_default_values
 {
-  my($records1, $records2) = @_;
-  my %settings1 = %$records1;
-  my %settings2 = %$records2;
-
-  foreach my $record(sort keys %settings1) {
-    if (defined $settings1{$record} && $settings2{$record}) {
-      if ($settings1{$record} ne $settings2{$record}) {
-        # Values doesn't match
-        print "$record default value changed from $settings1{$record} -> 
$settings2{$record}\n";
-      }
+    my ($records1, $records2) = @_;
+    my %settings1 = %$records1;
+    my %settings2 = %$records2;
+
+    foreach my $record (sort keys %settings1) {
+        if (defined $settings1{$record} && $settings2{$record}) {
+            if ($settings1{$record} ne $settings2{$record}) {
+                # Values doesn't match
+                print "$record default value changed from $settings1{$record} 
-> $settings2{$record}\n";
+            }
+        }
     }
-  }
 }
 
 # Obtain common configs/metrics between two files
@@ -171,9 +174,8 @@ my %common1_settings = %$common1;
 print 
"####################################################################################\n";
 print "Common configs/metrics between $in_file1 and $in_file2\n";
 print 
"####################################################################################\n";
-foreach my $key(sort keys %common2_settings)
-{
-  print "$key\n";
+foreach my $key (sort keys %common2_settings) {
+    print "$key\n";
 }
 
 # Compare common configs/metrics and obtain changes in default values
diff --git a/tools/compare_servers.pl b/tools/compare_servers.pl
index 7f1bcb8..4c485da 100755
--- a/tools/compare_servers.pl
+++ b/tools/compare_servers.pl
@@ -28,218 +28,232 @@ use Digest::SHA1;
 my $verbose = 0;
 
 #----------------------------------------------------------------------------
-sub usage() {
-  print STDERR "USAGE: compare_hosts.pl --verbose level --host1 testing_host 
--host2 valid_host --file url_file\n\n";
-  print STDERR "\t--host1         The host running the newest version\n";
-  print STDERR "\t--host2         The host running the older version\n";
-  print STDERR "\t--file          A file that contains a list of URLs\n";
-  print STDERR "\t--verbose       verbose level 1-3, 1 is the least 
verbose\n\n";
-  print STDERR "Example:\n";
-  print STDERR "\tcompare_hosts.pl --host1 new_ats --host2 old_ats --file 
top_1000_urls\n";
-  exit 1;
+sub usage()
+{
+    print STDERR "USAGE: compare_hosts.pl --verbose level --host1 testing_host 
--host2 valid_host --file url_file\n\n";
+    print STDERR "\t--host1         The host running the newest version\n";
+    print STDERR "\t--host2         The host running the older version\n";
+    print STDERR "\t--file          A file that contains a list of URLs\n";
+    print STDERR "\t--verbose       verbose level 1-3, 1 is the least 
verbose\n\n";
+    print STDERR "Example:\n";
+    print STDERR "\tcompare_hosts.pl --host1 new_ats --host2 old_ats --file 
top_1000_urls\n";
+    exit 1;
 }
 
 #----------------------------------------------------------------------------
-sub compareHeaderNames($$) {
-  my($response1, $response2) = @_;
+sub compareHeaderNames($$)
+{
+    my ($response1, $response2) = @_;
 
-  my @names1 = $response1->header_field_names;
-  my @names2 = $response2->header_field_names;
+    my @names1 = $response1->header_field_names;
+    my @names2 = $response2->header_field_names;
 
-  my %hash2;
-  $hash2{$_} = 1 for (@names2);
-  my %hash1;
-  $hash1{$_} = 1 for (@names1);
+    my %hash2;
+    $hash2{$_} = 1 for (@names2);
+    my %hash1;
+    $hash1{$_} = 1 for (@names1);
 
-  my $return_val = 0; # header names match
+    my $return_val = 0;    # header names match
 
-  foreach my $name (@names1) {
-    if (!defined $hash2{$name}) {
-      print "\t\t- $name header not found on host2\n" if $verbose >= 2;
-      $return_val = 1;
+    foreach my $name (@names1) {
+        if (!defined $hash2{$name}) {
+            print "\t\t- $name header not found on host2\n" if $verbose >= 2;
+            $return_val = 1;
+        }
     }
-  }
 
-  foreach my $name (@names2) {
-    if (!defined $hash1{$name}) {
-      print "\t\t- $name header not found on host1\n" if $verbose >= 2;
-      $return_val = 1;
+    foreach my $name (@names2) {
+        if (!defined $hash1{$name}) {
+            print "\t\t- $name header not found on host1\n" if $verbose >= 2;
+            $return_val = 1;
+        }
     }
-  }
 
-  return $return_val;
+    return $return_val;
 }
 
 #----------------------------------------------------------------------------
-sub compareHeaderValues($$) {
-  my($response1, $response2) = @_;
+sub compareHeaderValues($$)
+{
+    my ($response1, $response2) = @_;
 
-  my @test_headers = qw(ETag Cache-Control Connection Accept-Ranges Server 
Content-Type Access-Control-Allow-Methods Access-Control-Allow-Origin 
Strict-Transport-Security);
-  my $return_val = 0; # header valuse match
+    my @test_headers =
+      qw(ETag Cache-Control Connection Accept-Ranges Server Content-Type 
Access-Control-Allow-Methods Access-Control-Allow-Origin 
Strict-Transport-Security);
+    my $return_val = 0;    # header valuse match
 
-  if ($verbose >= 3) {
-    foreach my $field ($response1->header_field_names) {
-      print "\t\t\t~ " . $field . ": " . $response1->header($field) . "\n";
-    }
+    if ($verbose >= 3) {
+        foreach my $field ($response1->header_field_names) {
+            print "\t\t\t~ " . $field . ": " . $response1->header($field) . 
"\n";
+        }
 
-    print "\t\tHost2: \n";
+        print "\t\tHost2: \n";
 
-    foreach my $field ($response2->header_field_names) {
-      print "\t\t\t~ " . $field . ": " . $response2->header($field) . "\n";
+        foreach my $field ($response2->header_field_names) {
+            print "\t\t\t~ " . $field . ": " . $response2->header($field) . 
"\n";
+        }
     }
-  }
-
-  # Test specific headers that are defined above
-  foreach my $field (@test_headers) {
-    my $value1 = $response1->header($field);
-    my $value2 = $response2->header($field);
-
-    if (defined $value1 && defined $value2) {
-      if ($value1 ne $value2) {
-        print "\t\t- $field: $value1 ne $value2\n" if $verbose;
-        print "\t\t\t - Via host1: " . $response1->header('Via') . " host2: " 
. $response2->header('Via') . "\n" if $verbose;
-        print "\t\t\t - Last-Modified host1: " . 
$response1->header('Last-Modified') . " host2: " . 
$response2->header('Last-Modified') . "\n" if $verbose;
-        if (defined $response2->header('Content-Encoding')) {
-         print "\t\t\t - Content-Encoding host1: " . 
$response1->header('Content-Encoding') . " host2: " . 
$response2->header('Content-Encoding') . "\n";
-        } else {
-          print "\t\t\t - Content-Encoding host1: " . 
$response1->header('Content-Encoding') . " host2: ''\n";
+
+    # Test specific headers that are defined above
+    foreach my $field (@test_headers) {
+        my $value1 = $response1->header($field);
+        my $value2 = $response2->header($field);
+
+        if (defined $value1 && defined $value2) {
+            if ($value1 ne $value2) {
+                print "\t\t- $field: $value1 ne $value2\n" if $verbose;
+                print "\t\t\t - Via host1: " . $response1->header('Via') . " 
host2: " . $response2->header('Via') . "\n"
+                  if $verbose;
+                print "\t\t\t - Last-Modified host1: "
+                  . $response1->header('Last-Modified')
+                  . " host2: "
+                  . $response2->header('Last-Modified') . "\n"
+                  if $verbose;
+                if (defined $response2->header('Content-Encoding')) {
+                    print "\t\t\t - Content-Encoding host1: "
+                      . $response1->header('Content-Encoding')
+                      . " host2: "
+                      . $response2->header('Content-Encoding') . "\n";
+                } else {
+                    print "\t\t\t - Content-Encoding host1: " . 
$response1->header('Content-Encoding') . " host2: ''\n";
+                }
+                $return_val = 1;
+            } else {
+                print "\t\t- $field: $value1 eq $value2\n" if $verbose >= 2;
+            }
         }
-        $return_val = 1;
-      } else {
-        print "\t\t- $field: $value1 eq $value2\n" if $verbose >= 2;
-      }
     }
-  }
-  return $return_val;
+    return $return_val;
 }
 
 #----------------------------------------------------------------------------
 {
-  my %stats;
-
-  $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = '0';
-  my($host1, $host2, $file);
-  GetOptions ("host1=s" => \$host1,
-              "host2=s"   => \$host2,
-              "file=s"  => \$file,
-              "verbose=f" => \$verbose) || die $!;
-
-  usage() if (! defined $host1 || ! defined $host2 || ! defined $file);
-
-  my $count = 0;
-  my $status_error = 0;
-  my $sha_error = 0;
-  my $header_names_mismatch = 0;
-  my $header_values_mismatch = 0;
-
-  my $host1_addr = inet_ntoa(inet_aton($host1));
-  my $host2_addr = inet_ntoa(inet_aton($host2));
-
-  print "Testing with host1: $host1 ($host1_addr) - host2: $host2 
($host2_addr)\n";
-  print '-' x 78, "\n";
-
-  open(FILE, $file) || die $!;
-
-  # Create a user agent object
-  my $ua1 = LWP::UserAgent->new(keep_alive => 100);
-  $ua1->agent("MyApp/0.1 ");
-
-  # Create a user agent object
-  my $ua2 = LWP::UserAgent->new(keep_alive => 100);
-  $ua2->agent("MyApp/0.1 ");
-
-  while (my $url = <FILE>) {
-    next if ($url =~ m|hc.l.yimg.com|);
-    chomp $url;
-    my $exit = 0;
-
-    if ($url =~ m|(https?)://([^/]+)(.+)|) {
-
-      my $scheme = $1;
-      my $host = $2;
-      my $path = $3;
-
-      $count++;
-      print "Test $count - URL: $url\n";
-
-      my $port = 80;
-      $port = 443 if $scheme eq 'https';
-
-      my $request1 = HTTP::Request->new(GET => 
"${scheme}://${host1_addr}${path}");
-      $request1->header('Host' => $host);
-      my $response1 = $ua1->request($request1);
-
-      my $request2 = HTTP::Request->new(GET => 
"${scheme}://${host2_addr}${path}");
-      $request2->header('Host' => $host);
-      $request2->header('Accept-Encoding' => 'deflate');
-      my $response2 = $ua2->request($request2);
-
-      print "\tStatus code for host1: " . $response1->code . " - host2: " . 
$response2->code . "\n" if $verbose;
-
-      my $sha1 = Digest::SHA1->new;
-      $sha1->add($response1->content);
-      my $digest1 = $sha1->hexdigest;
-      open(FILE1, "> /tmp/tmp1");
-      open(FILE2, "> /tmp/tmp2");
-      print FILE1 $response1->content;
-      print FILE2 $response2->content;
-      close FILE1;
-      close FILE2;
-      #print $response1->content, "\n"; # for internal debugging
-      #print $response2->content, "\n"; # for internal debugging
-
-      my $sha2 = Digest::SHA1->new;
-      $sha2->add($response2->content);
-      my $digest2 = $sha2->hexdigest;
-
-      print "\tSHA hash for host1: $digest1 - host2: $digest2\n" if $verbose;
-
-      # Build up stats
-      if ($response1->status_line eq $response2->status_line) {
-
-        # Do the hashes
-        if ($digest1 eq $digest2) {
-          $stats{stat_line_match}->{$response1->code}->{sha_match}++;
-          print "\tResponse code: " . $response1->code . " - Status lines and 
SHA1 of response bodies match\n";
-        } else {
-          $stats{stat_line_match}->{$response1->code}->{sha_nomatch}++;
-          print "\tResponse code: " . $response1->code . " - Status lines 
match SHA1 doesn't match\n";
-          $sha_error++;
-          #$exit = 1 if $response1->code == 200; # for internal debugging
-        }
-
-        # Compare the header field names
-        if (compareHeaderNames($response1, $response2) == 0) {
-          $stats{stat_line_match}->{$response1->code}->{field_names_match}++;
-        } else {
-          $stats{stat_line_match}->{$response1->code}->{field_names_nomatch}++;
-          $header_names_mismatch++;
+    my %stats;
+
+    $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = '0';
+    my ($host1, $host2, $file);
+    GetOptions(
+        "host1=s"   => \$host1,
+        "host2=s"   => \$host2,
+        "file=s"    => \$file,
+        "verbose=f" => \$verbose
+    ) || die $!;
+
+    usage() if (!defined $host1 || !defined $host2 || !defined $file);
+
+    my $count                  = 0;
+    my $status_error           = 0;
+    my $sha_error              = 0;
+    my $header_names_mismatch  = 0;
+    my $header_values_mismatch = 0;
+
+    my $host1_addr = inet_ntoa(inet_aton($host1));
+    my $host2_addr = inet_ntoa(inet_aton($host2));
+
+    print "Testing with host1: $host1 ($host1_addr) - host2: $host2 
($host2_addr)\n";
+    print '-' x 78, "\n";
+
+    open(FILE, $file) || die $!;
+
+    # Create a user agent object
+    my $ua1 = LWP::UserAgent->new(keep_alive => 100);
+    $ua1->agent("MyApp/0.1 ");
+
+    # Create a user agent object
+    my $ua2 = LWP::UserAgent->new(keep_alive => 100);
+    $ua2->agent("MyApp/0.1 ");
+
+    while (my $url = <FILE>) {
+        next if ($url =~ m|hc.l.yimg.com|);
+        chomp $url;
+        my $exit = 0;
+
+        if ($url =~ m|(https?)://([^/]+)(.+)|) {
+
+            my $scheme = $1;
+            my $host   = $2;
+            my $path   = $3;
+
+            $count++;
+            print "Test $count - URL: $url\n";
+
+            my $port = 80;
+            $port = 443 if $scheme eq 'https';
+
+            my $request1 = HTTP::Request->new(GET => 
"${scheme}://${host1_addr}${path}");
+            $request1->header('Host' => $host);
+            my $response1 = $ua1->request($request1);
+
+            my $request2 = HTTP::Request->new(GET => 
"${scheme}://${host2_addr}${path}");
+            $request2->header('Host'            => $host);
+            $request2->header('Accept-Encoding' => 'deflate');
+            my $response2 = $ua2->request($request2);
+
+            print "\tStatus code for host1: " . $response1->code . " - host2: 
" . $response2->code . "\n" if $verbose;
+
+            my $sha1 = Digest::SHA1->new;
+            $sha1->add($response1->content);
+            my $digest1 = $sha1->hexdigest;
+            open(FILE1, "> /tmp/tmp1");
+            open(FILE2, "> /tmp/tmp2");
+            print FILE1 $response1->content;
+            print FILE2 $response2->content;
+            close FILE1;
+            close FILE2;
+            #print $response1->content, "\n"; # for internal debugging
+            #print $response2->content, "\n"; # for internal debugging
+
+            my $sha2 = Digest::SHA1->new;
+            $sha2->add($response2->content);
+            my $digest2 = $sha2->hexdigest;
+
+            print "\tSHA hash for host1: $digest1 - host2: $digest2\n" if 
$verbose;
+
+            # Build up stats
+            if ($response1->status_line eq $response2->status_line) {
+
+                # Do the hashes
+                if ($digest1 eq $digest2) {
+                    $stats{stat_line_match}->{$response1->code}->{sha_match}++;
+                    print "\tResponse code: " . $response1->code . " - Status 
lines and SHA1 of response bodies match\n";
+                } else {
+                    
$stats{stat_line_match}->{$response1->code}->{sha_nomatch}++;
+                    print "\tResponse code: " . $response1->code . " - Status 
lines match SHA1 doesn't match\n";
+                    $sha_error++;
+                    #$exit = 1 if $response1->code == 200; # for internal 
debugging
+                }
+
+                # Compare the header field names
+                if (compareHeaderNames($response1, $response2) == 0) {
+                    
$stats{stat_line_match}->{$response1->code}->{field_names_match}++;
+                } else {
+                    
$stats{stat_line_match}->{$response1->code}->{field_names_nomatch}++;
+                    $header_names_mismatch++;
+                }
+
+                # Compare the values of the header fields
+                if (compareHeaderValues($response1, $response2) == 0) {
+                    
$stats{stat_line_match}->{$response1->code}->{field_values_match}++;
+                } else {
+                    
$stats{stat_line_match}->{$response1->code}->{field_values_nomatch}++;
+                    $header_values_mismatch++;
+                }
+            } else {
+                $status_error++;
+                $stats{stat_line_nomatch}++;
+                print "\tERROR: status lines don't match\n";
+            }
+
+            last if $exit;
         }
-
-        # Compare the values of the header fields
-        if (compareHeaderValues($response1, $response2) == 0) {
-          $stats{stat_line_match}->{$response1->code}->{field_values_match}++;
-        } else {
-          
$stats{stat_line_match}->{$response1->code}->{field_values_nomatch}++;
-          $header_values_mismatch++;
-        }
-      } else {
-         $status_error++;
-         $stats{stat_line_nomatch}++;
-         print "\tERROR: status lines don't match\n";
-      }
-
-      last if $exit;
     }
-  }
-
-  print '-' x 78, "\n";
-  print "SUMMARY:\n";
-  print "URLs tested: $count\n";
-  print "Status line mismatches: $status_error\n";
-  print "SHA1 mismatches: $sha_error\n";
-  print "Responses with header names mismatches: $header_names_mismatch\n";
-  print "Responses with header values mismatches: $header_values_mismatch\n";
-  print Dumper \%stats if $verbose;
+
+    print '-' x 78, "\n";
+    print "SUMMARY:\n";
+    print "URLs tested: $count\n";
+    print "Status line mismatches: $status_error\n";
+    print "SHA1 mismatches: $sha_error\n";
+    print "Responses with header names mismatches: $header_names_mismatch\n";
+    print "Responses with header values mismatches: $header_values_mismatch\n";
+    print Dumper \%stats if $verbose;
 }
 
diff --git a/tools/freelist_diff.pl b/tools/freelist_diff.pl
index 8f15a93..4e9e92d 100755
--- a/tools/freelist_diff.pl
+++ b/tools/freelist_diff.pl
@@ -16,21 +16,24 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 
-sub usage {
+sub usage
+{
     print "Usage: freelist_diff.pl dump1.txt dump2.txt\n";
 }
 
-sub int_meg {
+sub int_meg
+{
     my $bytes = shift;
-    return $bytes / (1024*1024);
+    return $bytes / (1024 * 1024);
 }
 
-sub load_file {
+sub load_file
+{
     my $file = shift;
     my %data;
 
     open(DATA, $file) || return undef;
-    while(<DATA>) {
+    while (<DATA>) {
         my @items = split;
         chomp @items;
 
@@ -49,11 +52,13 @@ my %diff;
 
 while (my ($key, $value) = each(%{$data1})) {
     # before alloc [0], after alloc [1], before in-use [2], after in-use [3]
-    $diff{$key} = [ $value->[0], $data2->{$key}->[0], $value->[1], 
$data2->{$key}->[1],
-                    # diff alloc [4], diff in-use [5]
-                    $data2->{$key}->[0] - $value->[0], $data2->{$key}->[1] - 
$value->[1],
-                    # type size [6]
-                    $value->[2] ];
+    $diff{$key} = [
+        $value->[0], $data2->{$key}->[0], $value->[1], $data2->{$key}->[1],
+        # diff alloc [4], diff in-use [5]
+        $data2->{$key}->[0] - $value->[0], $data2->{$key}->[1] - $value->[1],
+        # type size [6]
+        $value->[2]
+    ];
 }
 
 print "Sorted by in-use growth\n";
diff --git a/tools/http_load/merge_stats.pl b/tools/http_load/merge_stats.pl
index 49e93a4..db40600 100644
--- a/tools/http_load/merge_stats.pl
+++ b/tools/http_load/merge_stats.pl
@@ -20,54 +20,57 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-my $runs = 0;
-my $fetches = 0;
-my $conns = 0;
-my $parallel = 0;
-my $bytes = 0;
-my $seconds = 0;
-my $mean_bytes = 0;
-my $fetches_sec = 0.0;
-my $bytes_sec = 0.0;
-my %msecs_connect = ( "mean" => 0.0,
-                      "max" => 0.0,
-                      "min" => 0.0 );
-my %msecs_response = ( "mean" => 0.0,
-                       "max" => 0.0,
-                       "min" => 0.0 );
-
+my $runs          = 0;
+my $fetches       = 0;
+my $conns         = 0;
+my $parallel      = 0;
+my $bytes         = 0;
+my $seconds       = 0;
+my $mean_bytes    = 0;
+my $fetches_sec   = 0.0;
+my $bytes_sec     = 0.0;
+my %msecs_connect = (
+    "mean" => 0.0,
+    "max"  => 0.0,
+    "min"  => 0.0
+);
+my %msecs_response = (
+    "mean" => 0.0,
+    "max"  => 0.0,
+    "min"  => 0.0
+);
 
 while (<>) {
-  my @c = split();
-  if (/fetches on/) {
-    $fetches += $c[0];
-    $conns += $c[3];
-    $parallel += $c[5];
-    $bytes += $c[8];
-    $seconds += $c[11];
-    $runs++;
-  } elsif (/mean bytes/) {
-    $mean_bytes += $c[0];
-  } elsif (/fetches\/sec/) {
-    $fetches_sec += $c[0];
-    $bytes_sec += $c[2];
-  } elsif (/msecs\/connect/) {
-    $msecs_connect{"mean"} += $c[1];
-    $msecs_connect{"max"} += $c[3];
-    $msecs_connect{"min"} += $c[5];
-  } elsif (/msecs\/first/) {
-    $msecs_response{"mean"} += $c[1];
-    $msecs_response{"max"} += $c[3];
-    $msecs_response{"min"} += $c[5];
-  }
+    my @c = split();
+    if (/fetches on/) {
+        $fetches  += $c[0];
+        $conns    += $c[3];
+        $parallel += $c[5];
+        $bytes    += $c[8];
+        $seconds  += $c[11];
+        $runs++;
+    } elsif (/mean bytes/) {
+        $mean_bytes += $c[0];
+    } elsif (/fetches\/sec/) {
+        $fetches_sec += $c[0];
+        $bytes_sec   += $c[2];
+    } elsif (/msecs\/connect/) {
+        $msecs_connect{"mean"} += $c[1];
+        $msecs_connect{"max"}  += $c[3];
+        $msecs_connect{"min"}  += $c[5];
+    } elsif (/msecs\/first/) {
+        $msecs_response{"mean"} += $c[1];
+        $msecs_response{"max"}  += $c[3];
+        $msecs_response{"min"}  += $c[5];
+    }
 }
 
 print "Total runs: ", $runs, "\n";
 printf "%d fetches on %d conns, %d max parallell, %.5e bytes in %d seconds\n",
   $fetches, $conns, $parallel, $bytes, $seconds / $runs;
-print $mean_bytes/$runs, " mean bytes/fetch\n";
-printf "%.2f fetches/sec, %.5e bytes/sec\n",  $fetches_sec, $bytes_sec;
-print "msecs/connect: ", $msecs_connect{"mean"}/$runs, " mean, ",
-  $msecs_connect{"max"}/$runs, " max, ", $msecs_connect{"min"}/$runs, " min\n";
-print "msecs/first-response: ", $msecs_response{"mean"}/$runs, " mean, ",
-  $msecs_response{"max"}/$runs, " max, ", $msecs_response{"min"}/$runs, " 
min\n";
+print $mean_bytes/ $runs, " mean bytes/fetch\n";
+printf "%.2f fetches/sec, %.5e bytes/sec\n", $fetches_sec, $bytes_sec;
+print "msecs/connect: ", $msecs_connect{"mean"} / $runs, " mean, ",
+  $msecs_connect{"max"} / $runs, " max, ", $msecs_connect{"min"} / $runs, " 
min\n";
+print "msecs/first-response: ", $msecs_response{"mean"} / $runs, " mean, ",
+  $msecs_response{"max"} / $runs, " max, ", $msecs_response{"min"} / $runs, " 
min\n";
diff --git a/tools/slow_log_report.pl b/tools/slow_log_report.pl
index 9207b59..81fb52d 100755
--- a/tools/slow_log_report.pl
+++ b/tools/slow_log_report.pl
@@ -21,62 +21,72 @@ use strict;
 use warnings;
 #use Data::Dumper;
 
-sub addStat($$$) {
-  my($stats, $key, $value) = @_;
-  #print "$key $value\n";
-  $stats->{$key}->{total} = 0 if (! defined $stats->{$key}->{total});
-  $stats->{$key}->{count} = 0 if (! defined $stats->{$key}->{count});
-  return if (! ($value =~ m|^-?\d+\.?\d*$|));
-  #print "$key\n";
-  $stats->{$key}->{total} += $value if $value >= 0;
-  $stats->{$key}->{count}++ if $value >= 0;
-  push(@{$stats->{$key}->{values}}, $value)  if $value >= 0;
+sub addStat($$$)
+{
+    my ($stats, $key, $value) = @_;
+    #print "$key $value\n";
+    $stats->{$key}->{total} = 0 if (!defined $stats->{$key}->{total});
+    $stats->{$key}->{count} = 0 if (!defined $stats->{$key}->{count});
+    return if (!($value =~ m|^-?\d+\.?\d*$|));
+    #print "$key\n";
+    $stats->{$key}->{total} += $value if $value >= 0;
+    $stats->{$key}->{count}++ if $value >= 0;
+    push(@{$stats->{$key}->{values}}, $value) if $value >= 0;
 }
 
-sub displayStat($) {
-  my($stats) = @_;
+sub displayStat($)
+{
+    my ($stats) = @_;
+
+    printf("%25s %10s %10s %10s %10s %10s %10s %10s %10s\n",
+        'key', 'total', 'count', 'mean', 'median', '95th', '99th', 'min', 
'max');
+    foreach my $key (
+        'ua_begin',            'ua_first_read',     'ua_read_header_done',     
'cache_open_read_begin',
+        'cache_open_read_end', 'dns_lookup_begin',  'dns_lookup_end',          
'server_connect',
+        'server_connect_end',  'server_first_read', 'server_read_header_done', 
'server_close',
+        'ua_close',            'sm_finish'
+      )
+    {
 
-  printf("%25s %10s %10s %10s %10s %10s %10s %10s %10s\n", 'key', 'total', 
'count', 'mean', 'median', '95th', '99th', 'min', 'max');
-  foreach my $key ('ua_begin', 'ua_first_read', 'ua_read_header_done', 
'cache_open_read_begin', 'cache_open_read_end', 'dns_lookup_begin', 
'dns_lookup_end', 'server_connect', 'server_connect_end', 'server_first_read', 
'server_read_header_done', 'server_close', 'ua_close', 'sm_finish') {
+        my $count = $stats->{$key}->{count};
+        my $total = $stats->{$key}->{total};
+        if (!defined $stats->{$key}->{values}) {
+            next;
+            #print "$key\n";
+            #die $key;
+        }
+        my @sorted = sort {$a <=> $b} @{$stats->{$key}->{values}};
+        my $median = $sorted[int($count / 2)];
+        my $p95th  = $sorted[int($count * .95)];
+        my $p99th  = $sorted[int($count * .99)];
+        my $min    = $sorted[0];
+        my $max    = $sorted[$count - 1];
+        my $mean   = 0;
+        $mean = $total / $count if $count > 0;
 
-    my $count = $stats->{$key}->{count};
-    my $total = $stats->{$key}->{total};
-    if (!defined $stats->{$key}->{values}) {
-      next;
-      #print "$key\n";
-      #die $key;
+        printf("%25s %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f 
%10.2f\n",
+            $key, $total, $count, $mean, $median, $p95th, $p99th, $min, $max);
     }
-    my @sorted = sort {$a <=> $b} @{$stats->{$key}->{values}};
-    my $median = $sorted[int($count/2)];
-    my $p95th = $sorted[int($count * .95)];
-    my $p99th = $sorted[int($count * .99)];
-    my $min = $sorted[0];
-    my $max = $sorted[$count - 1];
-    my $mean = 0;
-    $mean = $total / $count if $count > 0;
-
-    printf("%25s %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f\n", 
$key, $total, $count, $mean, $median, $p95th, $p99th, $min, $max);
-  }
-  print "NOTE: Times are in seconds\n";
+    print "NOTE: Times are in seconds\n";
 }
 
 {
-  my %stats;
+    my %stats;
 
-  while (<>) {
-    chomp;
-    s/unique id/unique_id/;
-    s/server state/server_state/;
-    s/client state/client_state/;
-    if (m|Slow Request: .+ (ua_begin: .+)|) {
-      my %data = split(/: | /, $1);
-      foreach my $key (keys %data) {
-       next if (!defined $data{$key});
-       #print "$key $data{$key}\n";
-        addStat(\%stats, $key, $data{$key});
-      }
+    while (<>) {
+        chomp;
+        s/unique id/unique_id/;
+        s/server state/server_state/;
+        s/client state/client_state/;
+        if (m|Slow Request: .+ (ua_begin: .+)|) {
+            my %data = split(/: | /, $1);
+            foreach my $key (keys %data) {
+                next if (!defined $data{$key});
+                #print "$key $data{$key}\n";
+                addStat(\%stats, $key, $data{$key});
+            }
+        }
     }
-  }
 
-  displayStat(\%stats);
+    displayStat(\%stats);
 }
diff --git a/tools/traffic_via.pl b/tools/traffic_via.pl
index 6eee2a6..e5a0f29 100755
--- a/tools/traffic_via.pl
+++ b/tools/traffic_via.pl
@@ -25,9 +25,9 @@
 # 1. Pass Via Header with -s option \n";
 #    traffic_via [-s viaheader]";
 #           or
-# 2. Pipe curl output 
+# 2. Pipe curl output
 #    curl -v -H "X-Debug: Via" http://ats_server:port 2>&1| ./traffic_via.pl
-# 
+#
 
 use strict;
 use warnings;
@@ -40,8 +40,7 @@ my $help;
 #Proxy request header flags and titles
 my @proxy_header_array = (
     {
-        "Request headers received from client:",
-        { 
+        "Request headers received from client:", {
             'I' => "If Modified Since (IMS)",
             'C' => "cookie",
             'E' => "error in request",
@@ -49,115 +48,93 @@ my @proxy_header_array = (
             'N' => "no-cache",
             ' ' => "unknown?",
         },
-    },
-   {
-        "Result of Traffic Server cache lookup for URL:",
-        {
-                   'A' => "in cache, not acceptable (a cache \"MISS\")",
-                   'H' => "in cache, fresh (a cache \"HIT\")",
-                   'S' => "in cache, stale (a cache \"MISS\")",
-                   'R' => "in cache, fresh Ram hit (a cache \"HIT\")",
-                   'M' => "miss (a cache \"MISS\")",
-                   ' ' => "unknown?",
+    }, {
+        "Result of Traffic Server cache lookup for URL:", {
+            'A' => "in cache, not acceptable (a cache \"MISS\")",
+            'H' => "in cache, fresh (a cache \"HIT\")",
+            'S' => "in cache, stale (a cache \"MISS\")",
+            'R' => "in cache, fresh Ram hit (a cache \"HIT\")",
+            'M' => "miss (a cache \"MISS\")",
+            ' ' => "unknown?",
         },
-    },
-    {
-        "Response information received from origin server:",
-        {
-                    'E' => "error in response",
-                    ' ' => "no server connection needed",
-                    'S' => "served",
-                    'N'=> "not-modified",
+    }, {
+        "Response information received from origin server:", {
+            'E' => "error in response",
+            ' ' => "no server connection needed",
+            'S' => "served",
+            'N' => "not-modified",
         }
-    },
-    {
-        "Result of document write-to-cache:",
-        {
-                    'U' => "updated old cache copy",
-                    'D' => "cached copy deleted",
-                    'W' => "written into cache (new copy)",
-                    ' ' => "no cache write performed",
+    }, {
+        "Result of document write-to-cache:", {
+            'U' => "updated old cache copy",
+            'D' => "cached copy deleted",
+            'W' => "written into cache (new copy)",
+            ' ' => "no cache write performed",
         },
-    },
-    {
-        "Proxy operation result:",
-        { 
-                    'R' => "origin server revalidated",
-                    ' ' => "unknown?",
-                    'S' => "served",
-                    'N' => "not-modified",
+    }, {
+        "Proxy operation result:", {
+            'R' => "origin server revalidated",
+            ' ' => "unknown?",
+            'S' => "served",
+            'N' => "not-modified",
         },
-    },
-    {
-        "Error codes (if any):",
-        {
-                    'A' => "authorization failure",
-                    'H' => "header syntax unacceptable",
-                    'C' => "connection to server failed",
-                    'T' => "connection timed out",
-                    'S' => "server related error",
-                    'D' => "dns failure",
-                    'N' => "no error",
-                    'F' => "request forbidden",
+    }, {
+        "Error codes (if any):", {
+            'A' => "authorization failure",
+            'H' => "header syntax unacceptable",
+            'C' => "connection to server failed",
+            'T' => "connection timed out",
+            'S' => "server related error",
+            'D' => "dns failure",
+            'N' => "no error",
+            'F' => "request forbidden",
         },
-    },
-    {
-        "Tunnel info:",
-        {
-                    ' ' => "no tunneling",
-                    'U' => "tunneling because of url (url suggests dynamic 
content)",
-                    'M' => "tunneling due to a method (e.g. CONNECT)",
-                    'O' => "tunneling because cache is turned off",
-                    'F' => "tunneling due to a header field (such as presence 
of If-Range header)",
+    }, {
+        "Tunnel info:", {
+            ' ' => "no tunneling",
+            'U' => "tunneling because of url (url suggests dynamic content)",
+            'M' => "tunneling due to a method (e.g. CONNECT)",
+            'O' => "tunneling because cache is turned off",
+            'F' => "tunneling due to a header field (such as presence of 
If-Range header)",
         },
-   },
-   {
-        "Cache type:",
-        {
-                    'I' => "icp",
-                    ' ' => "cache miss or no cache lookup",
-                    'C' => "cache",
+    }, {
+        "Cache type:", {
+            'I' => "icp",
+            ' ' => "cache miss or no cache lookup",
+            'C' => "cache",
         },
-   },
-   {
-        "Cache lookup result:",
-        {
-                    ' ' => "no cache lookup",
-                    'S' => "cache hit, but expired",
-                    'U' => "cache hit, but client forces revalidate (e.g. 
Pragma: no-cache)",
-                    'D' => "cache hit, but method forces revalidated (e.g. 
ftp, not anonymous)",
-                    'I' => "conditional miss (client sent conditional, fresh 
in cache, returned 412)",
-                    'H' => "cache hit",
-                    'M' => "cache miss (url not in cache)",
-                    'C' => "cache hit, but config forces revalidate",
-                    'N' => "conditional hit (client sent conditional, doc 
fresh in cache, returned 304)",
+    }, {
+        "Cache lookup result:", {
+            ' ' => "no cache lookup",
+            'S' => "cache hit, but expired",
+            'U' => "cache hit, but client forces revalidate (e.g. Pragma: 
no-cache)",
+            'D' => "cache hit, but method forces revalidated (e.g. ftp, not 
anonymous)",
+            'I' => "conditional miss (client sent conditional, fresh in cache, 
returned 412)",
+            'H' => "cache hit",
+            'M' => "cache miss (url not in cache)",
+            'C' => "cache hit, but config forces revalidate",
+            'N' => "conditional hit (client sent conditional, doc fresh in 
cache, returned 304)",
         },
-   },
-   {
-        "ICP status:",
-        {
-                    ' ' => "no icp",
-                    'S' => "connection opened successfully",
-                    'F' => "connection open failed",
+    }, {
+        "ICP status:", {
+            ' ' => "no icp",
+            'S' => "connection opened successfully",
+            'F' => "connection open failed",
         },
-   },
-   {
-        "Parent proxy connection status:",
-        {
-                    ' ' => "no parent proxy",
-                    'S' => "connection opened successfully",
-                    'F' => "connection open failed",
+    }, {
+        "Parent proxy connection status:", {
+            ' ' => "no parent proxy",
+            'S' => "connection opened successfully",
+            'F' => "connection open failed",
         },
-    
-   },
-   {
-        "Origin server connection status:",
-        {
-                    ' ' => "no server connection",
-                    'S' => "connection opened successfully",
-                    'F' => "connection open failed",
+
+    }, {
+        "Origin server connection status:", {
+            ' ' => "no server connection",
+            'S' => "connection opened successfully",
+            'F' => "connection open failed",
         },
-   },
+    },
 );
 
 ##Print script usage
@@ -181,17 +158,22 @@ if (@ARGV == 0) {
         #Pattern matching for Via
         if ($element =~ /Via:(.*)\[(.*)\]/) {
             #Search and grep via header
-            $via_string = $2;    
+            $via_string = $2;
             chomp($via_string);
             print "Via Header is [$via_string]";
             decode_via_header($via_string);
         }
     }
 } else {
-    usage() if (!GetOptions('s=s' => \$via_header,
-                'help|?' => \$help) or
-                defined $help);
-    
+    usage()
+      if (
+        !GetOptions(
+            's=s'    => \$via_header,
+            'help|?' => \$help
+        )
+        or defined $help
+      );
+
     if (defined $via_header) {
         #if passed through commandline dashed argument
         print "Via Header is [$via_header]";
@@ -201,16 +183,17 @@ if (@ARGV == 0) {
 }
 
 #Subroutine to decode via header
-sub decode_via_header {
-    my($header) = @_;
+sub decode_via_header
+{
+    my ($header) = @_;
     my $hdrLength;
     my $newHeader;
 
     #Check via header syntax
-    if ($header =~ /([a-zA-Z: ]+)/) {   
+    if ($header =~ /([a-zA-Z: ]+)/) {
         #Get via header length
         $hdrLength = length($header);
-        
+
         # Valid Via header length is 24 or 6.
         # When Via header length is 24, it will have both proxy request header 
result and operational results.
         if ($hdrLength == 24) {
@@ -220,7 +203,7 @@ sub decode_via_header {
             $newHeader = $header;
         } elsif ($hdrLength == 5) {
             # When Via header length is 5, it might be missing last field. 
Fill it and decode header.
-            my $newHeader = "$header"." ";
+            my $newHeader = "$header" . " ";
         } else {
             # Invalid header size, come out.
             print "\nInvalid VIA header. VIA header length should be 6 or 24 
characters\n";
@@ -228,49 +211,50 @@ sub decode_via_header {
         }
         convert_header_to_array($newHeader);
     }
-    
-    
+
 }
 
-sub convert_header_to_array {
+sub convert_header_to_array
+{
     my ($viaHeader) = @_;
     my @ResultArray;
     #Convert string header into character array
     while ($viaHeader =~ /(.)/g) {
-            #Only capital letters indicate flags
-            if ($1 !~ m/[a-z]+/) {
-                push(@ResultArray, $1); 
-            }
+        #Only capital letters indicate flags
+        if ($1 !~ m/[a-z]+/) {
+            push(@ResultArray, $1);
+        }
     }
     print "\nVia Header details: \n";
-    for (my $arrayIndex=0; $arrayIndex < scalar(@ResultArray); $arrayIndex++ ) 
{
+    for (my $arrayIndex = 0; $arrayIndex < scalar(@ResultArray); 
$arrayIndex++) {
         get_via_header_flags(\@proxy_header_array, $arrayIndex, 
$ResultArray[$arrayIndex]);
     }
 }
 
 #Get values from header arrays
-sub get_via_header_flags {
+sub get_via_header_flags
+{
     my ($arrayName, $inputIndex, $flag) = @_;
 
     my %flagValues;
     my @flagKeys;
     my %flags;
     my @keys;
-    
+
     my @array = @$arrayName;
-            
+
     %flagValues = %{$array[$inputIndex]};
-    @flagKeys = keys (%flagValues);
-    
-    foreach my $keyEntry ( @flagKeys )  {
-        printf ("%-55s", $keyEntry);
+    @flagKeys   = keys(%flagValues);
+
+    foreach my $keyEntry (@flagKeys) {
+        printf("%-55s", $keyEntry);
         %flags = %{$flagValues{$keyEntry}};
-        @keys = keys (%flags);
-        foreach my $key ( @keys )  {
-            if ($key =~ /$flag/) { 
-                 #print $flags{$key};
-                 printf("%s",$flags{$key});
-                 print "\n";
+        @keys  = keys(%flags);
+        foreach my $key (@keys) {
+            if ($key =~ /$flag/) {
+                #print $flags{$key};
+                printf("%s", $flags{$key});
+                print "\n";
             }
         }
     }

Reply via email to