[Rt-commit] rt branch, 3.8/perlcritic, updated. rt-3.8.10-206-g8cbdb87

Alex Vandiver alexmv at bestpractical.com
Fri Aug 19 14:24:05 EDT 2011


The branch, 3.8/perlcritic has been updated
       via  8cbdb875383758285298f4bcf1d8282b4d04667c (commit)
       via  c3ebd6a376fa3c56cfec3b08bda7f2a97906960f (commit)
       via  ede269631bc447e9e5b9149256ddb8368b41867d (commit)
       via  c29de434bcbfc8f3c22d6bea6eff13364cf2842e (commit)
      from  1defe38aa91b42656c77e54f9fc058e3c66a20aa (commit)

Summary of changes:
 bin/mason_handler.svc.in                   |    3 ++
 bin/rt-crontool.in                         |    2 +
 bin/rt.in                                  |    3 +-
 bin/webmux.pl.in                           |    2 +
 lib/RT.pm.in                               |    4 +--
 lib/RT/ACE.pm                              |    5 ++-
 lib/RT/ACE_Overlay.pm                      |    3 +-
 lib/RT/ACL.pm                              |    5 ++-
 lib/RT/ACL_Overlay.pm                      |    2 +-
 lib/RT/Action.pm                           |    6 ++-
 lib/RT/Action/AutoOpen.pm                  |    1 -
 lib/RT/Action/Autoreply.pm                 |    1 -
 lib/RT/Action/CreateTickets.pm             |    4 +-
 lib/RT/Action/EscalatePriority.pm          |    5 ++-
 lib/RT/Action/ExtractSubjectTag.pm         |    4 ++-
 lib/RT/Action/Generic.pm                   |    3 +-
 lib/RT/Action/LinearEscalate.pm            |    2 +-
 lib/RT/Action/Notify.pm                    |    1 -
 lib/RT/Action/NotifyAsComment.pm           |    1 -
 lib/RT/Action/NotifyGroup.pm               |    2 +-
 lib/RT/Action/NotifyGroupAsComment.pm      |    3 --
 lib/RT/Action/RecordComment.pm             |    4 ++-
 lib/RT/Action/RecordCorrespondence.pm      |    4 ++-
 lib/RT/Action/ResolveMembers.pm            |    6 ++-
 lib/RT/Action/SendEmail.pm                 |    1 -
 lib/RT/Action/SetPriority.pm               |    5 ++-
 lib/RT/Action/UserDefined.pm               |    5 ++-
 lib/RT/Approval/Rule/Created.pm            |    1 +
 lib/RT/Approval/Rule/NewPending.pm         |    1 +
 lib/RT/Approval/Rule/Passed.pm             |    1 +
 lib/RT/Approval/Rule/Rejected.pm           |    1 +
 lib/RT/Attachment.pm                       |    6 +--
 lib/RT/Attachment_Overlay.pm               |    2 +-
 lib/RT/Attachments.pm                      |    8 ++---
 lib/RT/Attachments_Overlay.pm              |    2 +-
 lib/RT/Attribute.pm                        |    6 +--
 lib/RT/Attribute_Overlay.pm                |    4 +-
 lib/RT/Attributes.pm                       |    8 ++---
 lib/RT/Attributes_Overlay.pm               |    3 +-
 lib/RT/Base.pm                             |    6 ++--
 lib/RT/CachedGroupMember.pm                |    6 +--
 lib/RT/CachedGroupMember_Overlay.pm        |    2 +-
 lib/RT/CachedGroupMembers.pm               |    8 ++---
 lib/RT/CachedGroupMembers_Overlay.pm       |    2 +-
 lib/RT/Condition.pm                        |    1 -
 lib/RT/Condition/AnyTransaction.pm         |    4 +-
 lib/RT/Condition/BeforeDue.pm              |    4 ++-
 lib/RT/Condition/CloseTicket.pm            |    2 -
 lib/RT/Condition/Generic.pm                |    3 +-
 lib/RT/Condition/Overdue.pm                |    3 +-
 lib/RT/Condition/OwnerChange.pm            |    3 +-
 lib/RT/Condition/PriorityChange.pm         |    3 +-
 lib/RT/Condition/PriorityExceeds.pm        |    4 ++-
 lib/RT/Condition/QueueChange.pm            |    4 ++-
 lib/RT/Condition/ReopenTicket.pm           |    2 -
 lib/RT/Condition/StatusChange.pm           |    3 +-
 lib/RT/Condition/UserDefined.pm            |    3 +-
 lib/RT/Config.pm                           |    1 -
 lib/RT/Crypt/GnuPG.pm                      |   11 ++++--
 lib/RT/CurrentUser.pm                      |    5 +--
 lib/RT/CustomField.pm                      |    6 +--
 lib/RT/CustomFieldValue.pm                 |    9 ++---
 lib/RT/CustomFieldValue_Overlay.pm         |    7 +---
 lib/RT/CustomFieldValues.pm                |    8 ++---
 lib/RT/CustomFieldValues/External.pm       |    1 -
 lib/RT/CustomFieldValues/Groups.pm         |    1 -
 lib/RT/CustomFieldValues_Overlay.pm        |    1 -
 lib/RT/CustomField_Overlay.pm              |    2 +-
 lib/RT/CustomFields.pm                     |    8 ++---
 lib/RT/CustomFields_Overlay.pm             |    2 +-
 lib/RT/Dashboard.pm                        |    6 ++--
 lib/RT/Date.pm                             |    8 ++--
 lib/RT/EmailParser.pm                      |    6 +--
 lib/RT/Graph/Tickets.pm                    |    1 -
 lib/RT/Group.pm                            |    6 +--
 lib/RT/GroupMember.pm                      |    6 +--
 lib/RT/GroupMember_Overlay.pm              |    3 +-
 lib/RT/GroupMembers.pm                     |    8 ++---
 lib/RT/GroupMembers_Overlay.pm             |    2 +-
 lib/RT/Group_Overlay.pm                    |    2 +-
 lib/RT/Groups.pm                           |    8 ++---
 lib/RT/Groups_Overlay.pm                   |    2 +-
 lib/RT/Handle.pm                           |    1 -
 lib/RT/I18N.pm                             |    1 -
 lib/RT/I18N/i_default.pm                   |    4 ++-
 lib/RT/Interface/CLI.pm                    |    4 +-
 lib/RT/Interface/Email.pm                  |    1 -
 lib/RT/Interface/Email/Auth/GnuPG.pm       |    1 -
 lib/RT/Interface/Email/Auth/MailFrom.pm    |    3 +-
 lib/RT/Interface/REST.pm                   |    1 +
 lib/RT/Interface/Web.pm                    |    4 +-
 lib/RT/Interface/Web/QueryBuilder.pm       |    1 -
 lib/RT/Interface/Web/QueryBuilder/Tree.pm  |    1 -
 lib/RT/Interface/Web/Request.pm            |    1 -
 lib/RT/Interface/Web/Session.pm            |    2 +-
 lib/RT/Interface/Web/Standalone.pm         |    4 ++-
 lib/RT/Interface/Web/Standalone/PreFork.pm |    4 +-
 lib/RT/Link.pm                             |    6 +--
 lib/RT/Link_Overlay.pm                     |    3 +-
 lib/RT/Links.pm                            |    8 ++---
 lib/RT/Links_Overlay.pm                    |    3 +-
 lib/RT/ObjectCustomField.pm                |    9 ++---
 lib/RT/ObjectCustomFieldValue.pm           |    9 ++---
 lib/RT/ObjectCustomFieldValue_Overlay.pm   |    4 +-
 lib/RT/ObjectCustomFieldValues.pm          |    8 ++---
 lib/RT/ObjectCustomFieldValues_Overlay.pm  |    2 +-
 lib/RT/ObjectCustomField_Overlay.pm        |    1 -
 lib/RT/ObjectCustomFields.pm               |    9 ++---
 lib/RT/ObjectCustomFields_Overlay.pm       |    2 +-
 lib/RT/Plugin.pm                           |    4 +-
 lib/RT/Principal.pm                        |    6 +--
 lib/RT/Principal_Overlay.pm                |    5 +--
 lib/RT/Principals.pm                       |    8 ++---
 lib/RT/Principals_Overlay.pm               |    5 +--
 lib/RT/Queue.pm                            |    6 +--
 lib/RT/Queue_Overlay.pm                    |    2 +-
 lib/RT/Queues.pm                           |    8 ++---
 lib/RT/Queues_Overlay.pm                   |    2 +-
 lib/RT/Record.pm                           |    1 -
 lib/RT/Report/Tickets.pm                   |    6 ++--
 lib/RT/Rule.pm                             |    1 +
 lib/RT/Ruleset.pm                          |    1 +
 lib/RT/SQL.pm                              |    1 -
 lib/RT/SavedSearch.pm                      |    2 +-
 lib/RT/SavedSearches.pm                    |    7 ++--
 lib/RT/Scrip.pm                            |   11 +++---
 lib/RT/ScripAction.pm                      |    6 +--
 lib/RT/ScripAction_Overlay.pm              |    3 +-
 lib/RT/ScripActions.pm                     |    8 ++---
 lib/RT/ScripActions_Overlay.pm             |    2 +-
 lib/RT/ScripCondition.pm                   |    6 +--
 lib/RT/ScripCondition_Overlay.pm           |    3 +-
 lib/RT/ScripConditions.pm                  |    8 ++---
 lib/RT/ScripConditions_Overlay.pm          |    2 +-
 lib/RT/Scrip_Overlay.pm                    |    2 +-
 lib/RT/Scrips.pm                           |    8 ++---
 lib/RT/Scrips_Overlay.pm                   |    2 +-
 lib/RT/Search.pm                           |    2 +-
 lib/RT/Search/ActiveTicketsInQueue.pm      |    4 +-
 lib/RT/Search/FromSQL.pm                   |    3 +-
 lib/RT/Search/Generic.pm                   |    3 +-
 lib/RT/Search/Googleish.pm                 |    2 +-
 lib/RT/SearchBuilder.pm                    |    4 --
 lib/RT/SharedSetting.pm                    |    4 ++-
 lib/RT/Shredder.pm                         |    2 +-
 lib/RT/Shredder/ACE.pm                     |    4 +-
 lib/RT/Shredder/Attachment.pm              |    4 +-
 lib/RT/Shredder/CachedGroupMember.pm       |    4 +-
 lib/RT/Shredder/CustomField.pm             |    4 +-
 lib/RT/Shredder/CustomFieldValue.pm        |    4 +-
 lib/RT/Shredder/Dependencies.pm            |    3 +-
 lib/RT/Shredder/Dependency.pm              |    3 +-
 lib/RT/Shredder/Exceptions.pm              |    3 +-
 lib/RT/Shredder/Group.pm                   |    4 +-
 lib/RT/Shredder/GroupMember.pm             |    4 +-
 lib/RT/Shredder/Link.pm                    |    4 +-
 lib/RT/Shredder/ObjectCustomFieldValue.pm  |    4 +-
 lib/RT/Shredder/POD.pm                     |    2 +-
 lib/RT/Shredder/Plugin.pm                  |    2 +-
 lib/RT/Shredder/Plugin/Attachments.pm      |    2 +-
 lib/RT/Shredder/Plugin/Base.pm             |    1 -
 lib/RT/Shredder/Plugin/Base/Dump.pm        |    1 -
 lib/RT/Shredder/Plugin/Base/Search.pm      |    1 -
 lib/RT/Shredder/Plugin/Objects.pm          |    2 +-
 lib/RT/Shredder/Plugin/SQLDump.pm          |    2 +-
 lib/RT/Shredder/Plugin/Summary.pm          |    1 -
 lib/RT/Shredder/Plugin/Tickets.pm          |    2 +-
 lib/RT/Shredder/Plugin/Users.pm            |    2 +-
 lib/RT/Shredder/Principal.pm               |    4 +-
 lib/RT/Shredder/Queue.pm                   |    4 +-
 lib/RT/Shredder/Record.pm                  |    4 +-
 lib/RT/Shredder/Scrip.pm                   |    4 +-
 lib/RT/Shredder/ScripAction.pm             |    4 +-
 lib/RT/Shredder/ScripCondition.pm          |    4 +-
 lib/RT/Shredder/Template.pm                |    4 +-
 lib/RT/Shredder/Ticket.pm                  |    4 +-
 lib/RT/Shredder/Transaction.pm             |    4 +-
 lib/RT/Shredder/User.pm                    |    4 +-
 lib/RT/System.pm                           |    1 -
 lib/RT/Template.pm                         |    9 ++---
 lib/RT/Template_Overlay.pm                 |    1 -
 lib/RT/Templates.pm                        |    8 ++---
 lib/RT/Templates_Overlay.pm                |    4 +-
 lib/RT/Test.pm                             |    1 -
 lib/RT/Test/Email.pm                       |    2 +-
 lib/RT/Test/Web.pm                         |    1 -
 lib/RT/Ticket.pm                           |    9 ++---
 lib/RT/Ticket_Overlay.pm                   |    2 +-
 lib/RT/Tickets.pm                          |    8 ++---
 lib/RT/Tickets_Overlay.pm                  |    2 +-
 lib/RT/Tickets_Overlay_SQL.pm              |    1 -
 lib/RT/Transaction.pm                      |    6 +--
 lib/RT/Transaction_Overlay.pm              |    2 +-
 lib/RT/Transactions.pm                     |    8 ++---
 lib/RT/Transactions_Overlay.pm             |    2 +-
 lib/RT/URI.pm                              |    3 +-
 lib/RT/URI/base.pm                         |    3 +-
 lib/RT/URI/fsck_com_rt.pm                  |    2 +-
 lib/RT/URI/t.pm                            |    2 +-
 lib/RT/User.pm                             |    6 +--
 lib/RT/User_Overlay.pm                     |    2 +-
 lib/RT/Users.pm                            |    8 ++---
 lib/RT/Users_Overlay.pm                    |    2 +-
 sbin/extract-message-catalog               |    3 +-
 sbin/factory                               |    4 ++-
 sbin/rt-dump-database.in                   |    3 +-
 sbin/tweak-template-locstring              |   55 ----------------------------
 207 files changed, 355 insertions(+), 468 deletions(-)
 delete mode 100644 sbin/tweak-template-locstring

- Log -----------------------------------------------------------------
commit c29de434bcbfc8f3c22d6bea6eff13364cf2842e
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Fri Aug 19 13:22:57 2011 -0400

    Standardize package preamble a bit
    
    For consistency, the first lines should now be:
    
        package RT::Whatever;
        use strict;
        use warnings;
        # no warnings qw( redefine );  # if necessary
    
        # use base qw( PackageName );  # if necessary
    
        # other use statements
    
    This often moved "use strict" and "use warnings" below the package line;
    it is scoped to the nearest block, and hence its location relative to
    the "package" statement is irrelvant.  It also moved the "use base"
    line, if present, to the top of the use statements, and, when possible,
    removed the "use PackageName" line if the module already had a
    "use base qw( PackageName )", as the latter implies the former.

diff --git a/lib/RT.pm.in b/lib/RT.pm.in
index 5d48b50..a4dfa07 100755
--- a/lib/RT.pm.in
+++ b/lib/RT.pm.in
@@ -46,12 +46,10 @@
 #
 # END BPS TAGGED BLOCK }}}
 
+package RT;
 use strict;
 use warnings;
 
-package RT;
-
-
 use File::Spec ();
 use Cwd ();
 use Log::Dispatch;
diff --git a/lib/RT/ACE.pm b/lib/RT/ACE.pm
index 429e5ab..ec6d19b 100755
--- a/lib/RT/ACE.pm
+++ b/lib/RT/ACE.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,6 +67,9 @@ RT::ACE
 =cut
 
 package RT::ACE;
+use strict;
+use warnings;
+
 use base 'RT::Record';
 
 sub _Init {
diff --git a/lib/RT/ACE_Overlay.pm b/lib/RT/ACE_Overlay.pm
index 655621f..2bb2819 100755
--- a/lib/RT/ACE_Overlay.pm
+++ b/lib/RT/ACE_Overlay.pm
@@ -63,9 +63,10 @@
 
 
 package RT::ACE;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
+
 use RT::Principals;
 use RT::Queues;
 use RT::Groups;
diff --git a/lib/RT/ACL.pm b/lib/RT/ACL.pm
index 94a0c91..b10bbd6 100755
--- a/lib/RT/ACL.pm
+++ b/lib/RT/ACL.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,8 +69,11 @@ use strict;
 =cut
 
 package RT::ACL;
+use strict;
+use warnings;
 
 use base 'RT::SearchBuilder';
+
 use RT::ACE;
 
 
diff --git a/lib/RT/ACL_Overlay.pm b/lib/RT/ACL_Overlay.pm
index e4ccbb5..6dcfa76 100755
--- a/lib/RT/ACL_Overlay.pm
+++ b/lib/RT/ACL_Overlay.pm
@@ -65,8 +65,8 @@ my $ACL = RT::ACL->new($CurrentUser);
 
 
 package RT::ACL;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 
diff --git a/lib/RT/Action.pm b/lib/RT/Action.pm
index 95f512a..4db55ab 100755
--- a/lib/RT/Action.pm
+++ b/lib/RT/Action.pm
@@ -62,12 +62,14 @@
 =cut
 
 package RT::Action;
-
 use strict;
-use Scalar::Util;
+use warnings;
 
 use base qw/RT::Base/;
 
+use Scalar::Util;
+
+
 # {{{ sub new 
 sub new  {
   my $proto = shift;
diff --git a/lib/RT/Action/AutoOpen.pm b/lib/RT/Action/AutoOpen.pm
index b99b214..ecf961d 100755
--- a/lib/RT/Action/AutoOpen.pm
+++ b/lib/RT/Action/AutoOpen.pm
@@ -48,7 +48,6 @@
 
 # This Action will open the BASE if a dependent is resolved.
 package RT::Action::AutoOpen;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Action/Autoreply.pm b/lib/RT/Action/Autoreply.pm
index 64d08d9..81d70f4 100755
--- a/lib/RT/Action/Autoreply.pm
+++ b/lib/RT/Action/Autoreply.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::Autoreply;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Action/CreateTickets.pm b/lib/RT/Action/CreateTickets.pm
index 11f9fa0..3e483f1 100755
--- a/lib/RT/Action/CreateTickets.pm
+++ b/lib/RT/Action/CreateTickets.pm
@@ -47,11 +47,11 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::CreateTickets;
-use base 'RT::Action';
-
 use strict;
 use warnings;
 
+use base 'RT::Action';
+
 use MIME::Entity;
 
 =head1 NAME
diff --git a/lib/RT/Action/EscalatePriority.pm b/lib/RT/Action/EscalatePriority.pm
index dc7ba11..43934c6 100755
--- a/lib/RT/Action/EscalatePriority.pm
+++ b/lib/RT/Action/EscalatePriority.pm
@@ -72,9 +72,10 @@ as the ticket heads toward its due date.
 
 
 package RT::Action::EscalatePriority;
-use base 'RT::Action';
-
 use strict;
+use warnings;
+
+use base 'RT::Action';
 
 #Do what we need to do and send it out.
 
diff --git a/lib/RT/Action/ExtractSubjectTag.pm b/lib/RT/Action/ExtractSubjectTag.pm
index 7121c13..1e0ff71 100644
--- a/lib/RT/Action/ExtractSubjectTag.pm
+++ b/lib/RT/Action/ExtractSubjectTag.pm
@@ -47,8 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::ExtractSubjectTag;
-use base 'RT::Action';
 use strict;
+use warnings;
+
+use base 'RT::Action';
 
 sub Describe {
     my $self = shift;
diff --git a/lib/RT/Action/Generic.pm b/lib/RT/Action/Generic.pm
index d747813..6e9d110 100644
--- a/lib/RT/Action/Generic.pm
+++ b/lib/RT/Action/Generic.pm
@@ -63,9 +63,10 @@ This module is provided only for backwards compatibility.
 
 =cut
 
+package RT::Action::Generic;
 use strict;
 use warnings;
-package RT::Action::Generic;
+
 use base 'RT::Action';
 
 RT::Base->_ImportOverlays();
diff --git a/lib/RT/Action/LinearEscalate.pm b/lib/RT/Action/LinearEscalate.pm
index 3e54320..7be45dd 100755
--- a/lib/RT/Action/LinearEscalate.pm
+++ b/lib/RT/Action/LinearEscalate.pm
@@ -135,9 +135,9 @@ update, if it's been said to.
 =cut
 
 package RT::Action::LinearEscalate;
-
 use strict;
 use warnings;
+
 use base qw(RT::Action);
 
 our $VERSION = '0.06';
diff --git a/lib/RT/Action/Notify.pm b/lib/RT/Action/Notify.pm
index 8faf8c5..798482c 100755
--- a/lib/RT/Action/Notify.pm
+++ b/lib/RT/Action/Notify.pm
@@ -48,7 +48,6 @@
 
 #
 package RT::Action::Notify;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Action/NotifyAsComment.pm b/lib/RT/Action/NotifyAsComment.pm
index 504d139..928a6d3 100755
--- a/lib/RT/Action/NotifyAsComment.pm
+++ b/lib/RT/Action/NotifyAsComment.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::NotifyAsComment;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Action/NotifyGroup.pm b/lib/RT/Action/NotifyGroup.pm
index db82b05..76b3950 100644
--- a/lib/RT/Action/NotifyGroup.pm
+++ b/lib/RT/Action/NotifyGroup.pm
@@ -60,9 +60,9 @@ more info see its documentation.
 =cut
 
 package RT::Action::NotifyGroup;
-
 use strict;
 use warnings;
+
 use base qw(RT::Action::Notify);
 
 require RT::User;
diff --git a/lib/RT/Action/NotifyGroupAsComment.pm b/lib/RT/Action/NotifyGroupAsComment.pm
index a5bc49c..7b7094a 100644
--- a/lib/RT/Action/NotifyGroupAsComment.pm
+++ b/lib/RT/Action/NotifyGroupAsComment.pm
@@ -58,12 +58,9 @@ See C<rt-email-group-admin> and L<RT::Action::NotifyGroup> docs for more info.
 =cut
 
 package RT::Action::NotifyGroupAsComment;
-
 use strict;
 use warnings;
 
-use RT::Action::NotifyGroup;
-
 use base qw(RT::Action::NotifyGroup);
 
 sub SetReturnAddress {
diff --git a/lib/RT/Action/RecordComment.pm b/lib/RT/Action/RecordComment.pm
index 4ba5a6f..99dd2de 100644
--- a/lib/RT/Action/RecordComment.pm
+++ b/lib/RT/Action/RecordComment.pm
@@ -47,8 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::RecordComment;
-use base 'RT::Action';
 use strict;
+use warnings;
+
+use base 'RT::Action';
 
 =head1 NAME
 
diff --git a/lib/RT/Action/RecordCorrespondence.pm b/lib/RT/Action/RecordCorrespondence.pm
index 72cbcc4..3165325 100644
--- a/lib/RT/Action/RecordCorrespondence.pm
+++ b/lib/RT/Action/RecordCorrespondence.pm
@@ -47,8 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::RecordCorrespondence;
-use base 'RT::Action';
 use strict;
+use warnings;
+
+use base 'RT::Action';
 
 =head1 NAME
 
diff --git a/lib/RT/Action/ResolveMembers.pm b/lib/RT/Action/ResolveMembers.pm
index 49e98fa..e540f62 100755
--- a/lib/RT/Action/ResolveMembers.pm
+++ b/lib/RT/Action/ResolveMembers.pm
@@ -49,10 +49,12 @@
 # This Action will resolve all members of a resolved group ticket
 
 package RT::Action::ResolveMembers;
+use strict;
+use warnings;
+
 use base 'RT::Action';
-require RT::Links;
 
-use strict;
+use RT::Links;
 
 #Do what we need to do and send it out.
 
diff --git a/lib/RT/Action/SendEmail.pm b/lib/RT/Action/SendEmail.pm
index a7ebfa4..aa2f499 100755
--- a/lib/RT/Action/SendEmail.pm
+++ b/lib/RT/Action/SendEmail.pm
@@ -49,7 +49,6 @@
 # Portions Copyright 2000 Tobias Brox <tobix at cpan.org>
 
 package RT::Action::SendEmail;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Action/SetPriority.pm b/lib/RT/Action/SetPriority.pm
index c913283..430077c 100755
--- a/lib/RT/Action/SetPriority.pm
+++ b/lib/RT/Action/SetPriority.pm
@@ -47,9 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::SetPriority;
-use base 'RT::Action';
-
 use strict;
+use warnings;
+
+use base 'RT::Action';
 
 #Do what we need to do and send it out.
 
diff --git a/lib/RT/Action/UserDefined.pm b/lib/RT/Action/UserDefined.pm
index 3d8e73c..05b4e37 100755
--- a/lib/RT/Action/UserDefined.pm
+++ b/lib/RT/Action/UserDefined.pm
@@ -47,9 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Action::UserDefined;
-use base 'RT::Action';
-
 use strict;
+use warnings;
+
+use base 'RT::Action';
 
 =head2 Prepare
 
diff --git a/lib/RT/Approval/Rule/Created.pm b/lib/RT/Approval/Rule/Created.pm
index f546d60..eeb2741 100644
--- a/lib/RT/Approval/Rule/Created.pm
+++ b/lib/RT/Approval/Rule/Created.pm
@@ -49,6 +49,7 @@
 package RT::Approval::Rule::Created;
 use strict;
 use warnings;
+
 use base 'RT::Approval::Rule';
 
 use constant _Stage => 'TransactionBatch';
diff --git a/lib/RT/Approval/Rule/NewPending.pm b/lib/RT/Approval/Rule/NewPending.pm
index dc3f0a2..8c205aa 100644
--- a/lib/RT/Approval/Rule/NewPending.pm
+++ b/lib/RT/Approval/Rule/NewPending.pm
@@ -49,6 +49,7 @@
 package RT::Approval::Rule::NewPending;
 use strict;
 use warnings;
+
 use base 'RT::Approval::Rule';
 
 use constant Description => "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"; # loc
diff --git a/lib/RT/Approval/Rule/Passed.pm b/lib/RT/Approval/Rule/Passed.pm
index cd1a963..a5db8cd 100644
--- a/lib/RT/Approval/Rule/Passed.pm
+++ b/lib/RT/Approval/Rule/Passed.pm
@@ -49,6 +49,7 @@
 package RT::Approval::Rule::Passed;
 use strict;
 use warnings;
+
 use base 'RT::Approval::Rule';
 
 use constant Description => "Notify Owner of their ticket has been approved by some or all approvers"; # loc
diff --git a/lib/RT/Approval/Rule/Rejected.pm b/lib/RT/Approval/Rule/Rejected.pm
index 78c369b..65a0176 100644
--- a/lib/RT/Approval/Rule/Rejected.pm
+++ b/lib/RT/Approval/Rule/Rejected.pm
@@ -49,6 +49,7 @@
 package RT::Approval::Rule::Rejected;
 use strict;
 use warnings;
+
 use base 'RT::Approval::Rule';
 
 use constant Description => "If an approval is rejected, reject the original and delete pending approvals"; # loc
diff --git a/lib/RT/Attachment.pm b/lib/RT/Attachment.pm
index 2320e7c..d58e5ef 100755
--- a/lib/RT/Attachment.pm
+++ b/lib/RT/Attachment.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Attachment
 =cut
 
 package RT::Attachment;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/Attachment_Overlay.pm b/lib/RT/Attachment_Overlay.pm
index 6603f06..45b6287 100644
--- a/lib/RT/Attachment_Overlay.pm
+++ b/lib/RT/Attachment_Overlay.pm
@@ -64,8 +64,8 @@ similar objects.
 
 
 package RT::Attachment;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::Transaction;
diff --git a/lib/RT/Attachments.pm b/lib/RT/Attachments.pm
index e344645..79e541b 100755
--- a/lib/RT/Attachments.pm
+++ b/lib/RT/Attachments.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Attachments;
-
-use RT::SearchBuilder;
-use RT::Attachment;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Attachment;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Attachments_Overlay.pm b/lib/RT/Attachments_Overlay.pm
index d758c76..7488811 100755
--- a/lib/RT/Attachments_Overlay.pm
+++ b/lib/RT/Attachments_Overlay.pm
@@ -68,8 +68,8 @@ should only be accessed through exported APIs in Ticket, Queue and other similar
 
 
 package RT::Attachments;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::Attachment;
diff --git a/lib/RT/Attribute.pm b/lib/RT/Attribute.pm
index 58f89d5..2f89e9a 100644
--- a/lib/RT/Attribute.pm
+++ b/lib/RT/Attribute.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Attribute
 =cut
 
 package RT::Attribute;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/Attribute_Overlay.pm b/lib/RT/Attribute_Overlay.pm
index 2ba60bb..efb36ca 100644
--- a/lib/RT/Attribute_Overlay.pm
+++ b/lib/RT/Attribute_Overlay.pm
@@ -47,13 +47,13 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Attribute;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
+
 use Storable qw/nfreeze thaw/;
 use MIME::Base64;
 
-
 =head1 NAME
 
   RT::Attribute_Overlay 
diff --git a/lib/RT/Attributes.pm b/lib/RT/Attributes.pm
index 6e141cd..89883ec 100644
--- a/lib/RT/Attributes.pm
+++ b/lib/RT/Attributes.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Attributes;
-
-use RT::SearchBuilder;
-use RT::Attribute;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Attribute;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Attributes_Overlay.pm b/lib/RT/Attributes_Overlay.pm
index eb240e8..1f1ef49 100644
--- a/lib/RT/Attributes_Overlay.pm
+++ b/lib/RT/Attributes_Overlay.pm
@@ -64,11 +64,10 @@ RT::Attributes - collection of RT::Attribute objects
 
 
 package RT::Attributes;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
-
 sub _DoSearch {
     my $self = shift;
     $self->SUPER::_DoSearch();
diff --git a/lib/RT/Base.pm b/lib/RT/Base.pm
index 99c04e3..0e710b2 100755
--- a/lib/RT/Base.pm
+++ b/lib/RT/Base.pm
@@ -47,13 +47,13 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Base;
+use strict;
+use warnings;
+
 use Carp ();
 use Scalar::Util ();
 
-use strict;
-use warnings;
 use vars qw(@EXPORT);
-
 @EXPORT=qw(loc CurrentUser);
 
 =head1 NAME
diff --git a/lib/RT/CachedGroupMember.pm b/lib/RT/CachedGroupMember.pm
index d827560..0b39ad3 100755
--- a/lib/RT/CachedGroupMember.pm
+++ b/lib/RT/CachedGroupMember.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::CachedGroupMember
 =cut
 
 package RT::CachedGroupMember;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/CachedGroupMember_Overlay.pm b/lib/RT/CachedGroupMember_Overlay.pm
index 89efeb6..8608e43 100755
--- a/lib/RT/CachedGroupMember_Overlay.pm
+++ b/lib/RT/CachedGroupMember_Overlay.pm
@@ -47,8 +47,8 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::CachedGroupMember;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 =head1 NAME
diff --git a/lib/RT/CachedGroupMembers.pm b/lib/RT/CachedGroupMembers.pm
index ed6b56d..3d148bd 100755
--- a/lib/RT/CachedGroupMembers.pm
+++ b/lib/RT/CachedGroupMembers.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::CachedGroupMembers;
-
-use RT::SearchBuilder;
-use RT::CachedGroupMember;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::CachedGroupMember;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/CachedGroupMembers_Overlay.pm b/lib/RT/CachedGroupMembers_Overlay.pm
index e412ffc..72aed18 100755
--- a/lib/RT/CachedGroupMembers_Overlay.pm
+++ b/lib/RT/CachedGroupMembers_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::CachedGroupMembers;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ LimitToUsers
diff --git a/lib/RT/Condition.pm b/lib/RT/Condition.pm
index 038adf5..c8c5211 100755
--- a/lib/RT/Condition.pm
+++ b/lib/RT/Condition.pm
@@ -76,7 +76,6 @@
 =cut
 
 package RT::Condition;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Condition/AnyTransaction.pm b/lib/RT/Condition/AnyTransaction.pm
index 7558794..3391257 100755
--- a/lib/RT/Condition/AnyTransaction.pm
+++ b/lib/RT/Condition/AnyTransaction.pm
@@ -47,10 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::AnyTransaction;
-use base 'RT::Condition';
-
 use strict;
+use warnings;
 
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/BeforeDue.pm b/lib/RT/Condition/BeforeDue.pm
index 26a1d5a..896f2ba 100755
--- a/lib/RT/Condition/BeforeDue.pm
+++ b/lib/RT/Condition/BeforeDue.pm
@@ -47,11 +47,13 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::BeforeDue;
+use strict;
+use warnings;
+
 use base 'RT::Condition';
 
 use RT::Date;
 
-use strict;
 
 sub IsApplicable {
     my $self = shift;
diff --git a/lib/RT/Condition/CloseTicket.pm b/lib/RT/Condition/CloseTicket.pm
index ec3c24f..daa7461 100644
--- a/lib/RT/Condition/CloseTicket.pm
+++ b/lib/RT/Condition/CloseTicket.pm
@@ -47,13 +47,11 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::CloseTicket;
-
 use strict;
 use warnings;
 
 use base 'RT::Condition';
 
-
 =head2 IsApplicable
 
 If the ticket was closed, ie status was changed from any active status to
diff --git a/lib/RT/Condition/Generic.pm b/lib/RT/Condition/Generic.pm
index a3bfa75..895925e 100644
--- a/lib/RT/Condition/Generic.pm
+++ b/lib/RT/Condition/Generic.pm
@@ -63,9 +63,10 @@ This module is provided only for backwards compatibility.
 
 =cut
 
+package RT::Condition::Generic;
 use strict;
 use warnings;
-package RT::Condition::Generic;
+
 use base 'RT::Condition';
 
 RT::Base->_ImportOverlays();
diff --git a/lib/RT/Condition/Overdue.pm b/lib/RT/Condition/Overdue.pm
index 17f71f5..9b723be 100755
--- a/lib/RT/Condition/Overdue.pm
+++ b/lib/RT/Condition/Overdue.pm
@@ -57,9 +57,10 @@ Returns true if the ticket we're operating on is overdue
 =cut
 
 package RT::Condition::Overdue;
-use base 'RT::Condition';
 use strict;
+use warnings;
 
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/OwnerChange.pm b/lib/RT/Condition/OwnerChange.pm
index 42048cd..8a2a943 100755
--- a/lib/RT/Condition/OwnerChange.pm
+++ b/lib/RT/Condition/OwnerChange.pm
@@ -47,9 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::OwnerChange;
-use base 'RT::Condition';
 use strict;
+use warnings;
 
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/PriorityChange.pm b/lib/RT/Condition/PriorityChange.pm
index b13b48d..cafdd47 100644
--- a/lib/RT/Condition/PriorityChange.pm
+++ b/lib/RT/Condition/PriorityChange.pm
@@ -47,9 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::PriorityChange;
-use base 'RT::Condition';
 use strict;
+use warnings;
 
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/PriorityExceeds.pm b/lib/RT/Condition/PriorityExceeds.pm
index 916b71d..89ee988 100755
--- a/lib/RT/Condition/PriorityExceeds.pm
+++ b/lib/RT/Condition/PriorityExceeds.pm
@@ -47,8 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::PriorityExceeds;
-use base 'RT::Condition';
 use strict;
+use warnings;
+
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/QueueChange.pm b/lib/RT/Condition/QueueChange.pm
index dab4299..748f6f1 100755
--- a/lib/RT/Condition/QueueChange.pm
+++ b/lib/RT/Condition/QueueChange.pm
@@ -47,8 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::QueueChange;
-use base 'RT::Condition';
 use strict;
+use warnings;
+
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/ReopenTicket.pm b/lib/RT/Condition/ReopenTicket.pm
index cf1b91f..4651278 100644
--- a/lib/RT/Condition/ReopenTicket.pm
+++ b/lib/RT/Condition/ReopenTicket.pm
@@ -47,13 +47,11 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::ReopenTicket;
-
 use strict;
 use warnings;
 
 use base 'RT::Condition';
 
-
 =head2 IsApplicable
 
 If the ticket was repopened, ie status was changed from any inactive status to
diff --git a/lib/RT/Condition/StatusChange.pm b/lib/RT/Condition/StatusChange.pm
index b20a5ac..ccaf9b8 100755
--- a/lib/RT/Condition/StatusChange.pm
+++ b/lib/RT/Condition/StatusChange.pm
@@ -47,9 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::StatusChange;
-use base 'RT::Condition';
 use strict;
+use warnings;
 
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Condition/UserDefined.pm b/lib/RT/Condition/UserDefined.pm
index 454c24d..edfb7cd 100755
--- a/lib/RT/Condition/UserDefined.pm
+++ b/lib/RT/Condition/UserDefined.pm
@@ -47,9 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::UserDefined;
-use base 'RT::Condition';
 use strict;
+use warnings;
 
+use base 'RT::Condition';
 
 =head2 IsApplicable
 
diff --git a/lib/RT/Config.pm b/lib/RT/Config.pm
index f434710..ff167e7 100644
--- a/lib/RT/Config.pm
+++ b/lib/RT/Config.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Config;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Crypt/GnuPG.pm b/lib/RT/Crypt/GnuPG.pm
index f6c57aa..a2dc775 100644
--- a/lib/RT/Crypt/GnuPG.pm
+++ b/lib/RT/Crypt/GnuPG.pm
@@ -46,11 +46,10 @@
 #
 # END BPS TAGGED BLOCK }}}
 
+package RT::Crypt::GnuPG;
 use strict;
 use warnings;
 
-package RT::Crypt::GnuPG;
-
 use IO::Handle;
 use GnuPG::Interface;
 use RT::EmailParser ();
diff --git a/lib/RT/CurrentUser.pm b/lib/RT/CurrentUser.pm
index da782af..84a316b 100755
--- a/lib/RT/CurrentUser.pm
+++ b/lib/RT/CurrentUser.pm
@@ -87,14 +87,13 @@ passed to Load method.
 
 
 package RT::CurrentUser;
-
-use RT::I18N;
-
 use strict;
 use warnings;
 
 use base qw/RT::User/;
 
+use RT::I18N;
+
 #The basic idea here is that $self->CurrentUser is always supposed
 # to be a CurrentUser object. but that's hard to do when we're trying to load
 # the CurrentUser object
diff --git a/lib/RT/CustomField.pm b/lib/RT/CustomField.pm
index 267e051..2258c8e 100755
--- a/lib/RT/CustomField.pm
+++ b/lib/RT/CustomField.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::CustomField
 =cut
 
 package RT::CustomField;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/CustomFieldValue.pm b/lib/RT/CustomFieldValue.pm
index 980d9b6..8cb10d8 100755
--- a/lib/RT/CustomFieldValue.pm
+++ b/lib/RT/CustomFieldValue.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,12 +67,13 @@ RT::CustomFieldValue
 =cut
 
 package RT::CustomFieldValue;
-use RT::Record; 
-use RT::CustomField;
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
+use RT::CustomField;
+
 sub _Init {
   my $self = shift; 
 
diff --git a/lib/RT/CustomFieldValue_Overlay.pm b/lib/RT/CustomFieldValue_Overlay.pm
index 2dd7278..b911bb5 100644
--- a/lib/RT/CustomFieldValue_Overlay.pm
+++ b/lib/RT/CustomFieldValue_Overlay.pm
@@ -46,14 +46,11 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use warnings;
-use strict;
-
 package RT::CustomFieldValue;
-
+use strict;
+use warnings;
 no warnings qw/redefine/;
 
-
 =head2 ValidateName
 
 Override the default ValidateName method that stops custom field values
diff --git a/lib/RT/CustomFieldValues.pm b/lib/RT/CustomFieldValues.pm
index 1a18e86..cf1a6e2 100755
--- a/lib/RT/CustomFieldValues.pm
+++ b/lib/RT/CustomFieldValues.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::CustomFieldValues;
-
-use RT::SearchBuilder;
-use RT::CustomFieldValue;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::CustomFieldValue;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/CustomFieldValues/External.pm b/lib/RT/CustomFieldValues/External.pm
index 0a6af1f..decbb07 100644
--- a/lib/RT/CustomFieldValues/External.pm
+++ b/lib/RT/CustomFieldValues/External.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::CustomFieldValues::External;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/CustomFieldValues/Groups.pm b/lib/RT/CustomFieldValues/Groups.pm
index 59e3104..01373a0 100644
--- a/lib/RT/CustomFieldValues/Groups.pm
+++ b/lib/RT/CustomFieldValues/Groups.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::CustomFieldValues::Groups;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/CustomFieldValues_Overlay.pm b/lib/RT/CustomFieldValues_Overlay.pm
index 41df5a0..8c99137 100755
--- a/lib/RT/CustomFieldValues_Overlay.pm
+++ b/lib/RT/CustomFieldValues_Overlay.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::CustomFieldValues;
-
 use strict;
 use warnings;
 no warnings qw(redefine);
diff --git a/lib/RT/CustomField_Overlay.pm b/lib/RT/CustomField_Overlay.pm
index 1a876f1..3675f04 100755
--- a/lib/RT/CustomField_Overlay.pm
+++ b/lib/RT/CustomField_Overlay.pm
@@ -47,8 +47,8 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::CustomField;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::CustomFieldValues;
diff --git a/lib/RT/CustomFields.pm b/lib/RT/CustomFields.pm
index e0056e5..62a0127 100755
--- a/lib/RT/CustomFields.pm
+++ b/lib/RT/CustomFields.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::CustomFields;
-
-use RT::SearchBuilder;
-use RT::CustomField;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::CustomField;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/CustomFields_Overlay.pm b/lib/RT/CustomFields_Overlay.pm
index dac0f5b..a671518 100755
--- a/lib/RT/CustomFields_Overlay.pm
+++ b/lib/RT/CustomFields_Overlay.pm
@@ -64,10 +64,10 @@
 
 
 package RT::CustomFields;
-
 use strict;
 use warnings;
 no warnings qw(redefine);
+
 use DBIx::SearchBuilder::Unique;
 
 sub _Init {
diff --git a/lib/RT/Dashboard.pm b/lib/RT/Dashboard.pm
index a87ab69..e5fd366 100644
--- a/lib/RT/Dashboard.pm
+++ b/lib/RT/Dashboard.pm
@@ -66,13 +66,13 @@
 =cut
 
 package RT::Dashboard;
-
-use RT::SavedSearch;
-
 use strict;
 use warnings;
+
 use base qw/RT::SharedSetting/;
 
+use RT::SavedSearch;
+
 use RT::System;
 RT::System::AddRights(
     SubscribeDashboard => 'Subscribe to dashboards', #loc_pair
diff --git a/lib/RT/Date.pm b/lib/RT/Date.pm
index e79041a..d300f7e 100755
--- a/lib/RT/Date.pm
+++ b/lib/RT/Date.pm
@@ -67,14 +67,14 @@ The fact that it assumes that a time of 0 means "never" is probably a bug.
 
 
 package RT::Date;
-
-use Time::Local;
-use POSIX qw(tzset);
-
 use strict;
 use warnings;
+
 use base qw/RT::Base/;
 
+use Time::Local;
+use POSIX qw(tzset);
+
 use vars qw($MINUTE $HOUR $DAY $WEEK $MONTH $YEAR);
 
 $MINUTE = 60;
diff --git a/lib/RT/EmailParser.pm b/lib/RT/EmailParser.pm
index c41c703..df3df7e 100755
--- a/lib/RT/EmailParser.pm
+++ b/lib/RT/EmailParser.pm
@@ -47,13 +47,11 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::EmailParser;
-
-
-use base qw/RT::Base/;
-
 use strict;
 use warnings;
 
+use base qw/RT::Base/;
+
 use Email::Address;
 use MIME::Entity;
 use MIME::Head;
diff --git a/lib/RT/Graph/Tickets.pm b/lib/RT/Graph/Tickets.pm
index df47561..e5993be 100644
--- a/lib/RT/Graph/Tickets.pm
+++ b/lib/RT/Graph/Tickets.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Graph::Tickets;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Group.pm b/lib/RT/Group.pm
index 8f2f942..9a929f7 100755
--- a/lib/RT/Group.pm
+++ b/lib/RT/Group.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Group
 =cut
 
 package RT::Group;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/GroupMember.pm b/lib/RT/GroupMember.pm
index 8730a05..772072b 100755
--- a/lib/RT/GroupMember.pm
+++ b/lib/RT/GroupMember.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::GroupMember
 =cut
 
 package RT::GroupMember;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/GroupMember_Overlay.pm b/lib/RT/GroupMember_Overlay.pm
index 7c2a702..413150e 100755
--- a/lib/RT/GroupMember_Overlay.pm
+++ b/lib/RT/GroupMember_Overlay.pm
@@ -72,9 +72,10 @@ doing something wrong.
 
 
 package RT::GroupMember;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
+
 use RT::CachedGroupMembers;
 
 # {{{ sub Create
diff --git a/lib/RT/GroupMembers.pm b/lib/RT/GroupMembers.pm
index 6c0f1d7..fddb291 100755
--- a/lib/RT/GroupMembers.pm
+++ b/lib/RT/GroupMembers.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::GroupMembers;
-
-use RT::SearchBuilder;
-use RT::GroupMember;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::GroupMember;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/GroupMembers_Overlay.pm b/lib/RT/GroupMembers_Overlay.pm
index f3d5a75..27ad822 100755
--- a/lib/RT/GroupMembers_Overlay.pm
+++ b/lib/RT/GroupMembers_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::GroupMembers;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ LimitToUsers
diff --git a/lib/RT/Group_Overlay.pm b/lib/RT/Group_Overlay.pm
index d878a57..f34a4b7 100755
--- a/lib/RT/Group_Overlay.pm
+++ b/lib/RT/Group_Overlay.pm
@@ -72,8 +72,8 @@ An RT group object.
 
 
 package RT::Group;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::Users;
diff --git a/lib/RT/Groups.pm b/lib/RT/Groups.pm
index cfaab9f..bd14643 100755
--- a/lib/RT/Groups.pm
+++ b/lib/RT/Groups.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Groups;
-
-use RT::SearchBuilder;
-use RT::Group;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Group;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Groups_Overlay.pm b/lib/RT/Groups_Overlay.pm
index 9259774..66c94a0 100755
--- a/lib/RT/Groups_Overlay.pm
+++ b/lib/RT/Groups_Overlay.pm
@@ -70,8 +70,8 @@
 
 
 package RT::Groups;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::Users;
diff --git a/lib/RT/Handle.pm b/lib/RT/Handle.pm
index 5173734..aacf20d 100755
--- a/lib/RT/Handle.pm
+++ b/lib/RT/Handle.pm
@@ -67,7 +67,6 @@ loaded.
 =cut
 
 package RT::Handle;
-
 use strict;
 use warnings;
 use vars qw/@ISA/;
diff --git a/lib/RT/I18N.pm b/lib/RT/I18N.pm
index b4559c0..35e02e0 100755
--- a/lib/RT/I18N.pm
+++ b/lib/RT/I18N.pm
@@ -53,7 +53,6 @@ RT::I18N - a base class for localization of RT
 =cut
 
 package RT::I18N;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/I18N/i_default.pm b/lib/RT/I18N/i_default.pm
index cba6547..121ce6d 100755
--- a/lib/RT/I18N/i_default.pm
+++ b/lib/RT/I18N/i_default.pm
@@ -47,8 +47,10 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::I18N::i_default;
-use base 'RT::I18N';
 use strict;
+use warnings;
+
+use base 'RT::I18N';
 
 RT::Base->_ImportOverlays();
 
diff --git a/lib/RT/Interface/CLI.pm b/lib/RT/Interface/CLI.pm
index bfd5036..6d03451 100755
--- a/lib/RT/Interface/CLI.pm
+++ b/lib/RT/Interface/CLI.pm
@@ -46,11 +46,11 @@
 #
 # END BPS TAGGED BLOCK }}}
 
+package RT::Interface::CLI;
 use strict;
+use warnings;
 
 use RT;
-package RT::Interface::CLI;
-
 
 
 BEGIN {
diff --git a/lib/RT/Interface/Email.pm b/lib/RT/Interface/Email.pm
index 1d34b98..8b96581 100755
--- a/lib/RT/Interface/Email.pm
+++ b/lib/RT/Interface/Email.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Email;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Interface/Email/Auth/GnuPG.pm b/lib/RT/Interface/Email/Auth/GnuPG.pm
index 6d43b96..5f6ccd5 100644
--- a/lib/RT/Interface/Email/Auth/GnuPG.pm
+++ b/lib/RT/Interface/Email/Auth/GnuPG.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Email::Auth::GnuPG;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Interface/Email/Auth/MailFrom.pm b/lib/RT/Interface/Email/Auth/MailFrom.pm
index 0b87be7..4a7b58c 100755
--- a/lib/RT/Interface/Email/Auth/MailFrom.pm
+++ b/lib/RT/Interface/Email/Auth/MailFrom.pm
@@ -47,10 +47,11 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Email::Auth::MailFrom;
-use RT::Interface::Email qw(ParseSenderAddressFromHead CreateUser);
 use strict;
 use warnings;
 
+use RT::Interface::Email qw(ParseSenderAddressFromHead CreateUser);
+
 # This is what the ordinary, non-enhanced gateway does at the moment.
 
 sub GetCurrentUser {
diff --git a/lib/RT/Interface/REST.pm b/lib/RT/Interface/REST.pm
index 0d96bcf..18d4b1b 100755
--- a/lib/RT/Interface/REST.pm
+++ b/lib/RT/Interface/REST.pm
@@ -52,6 +52,7 @@
 package RT::Interface::REST;
 use strict;
 use warnings;
+
 use RT;
 
 BEGIN {
diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index df0b83c..ea6b44d 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -58,10 +58,10 @@ RT::Interface::Web
 
 =cut
 
-use strict;
-use warnings;
 
 package RT::Interface::Web;
+use strict;
+use warnings;
 
 use RT::SavedSearches;
 use URI qw();
diff --git a/lib/RT/Interface/Web/QueryBuilder.pm b/lib/RT/Interface/Web/QueryBuilder.pm
index 09b9539..aaef815 100755
--- a/lib/RT/Interface/Web/QueryBuilder.pm
+++ b/lib/RT/Interface/Web/QueryBuilder.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Web::QueryBuilder;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Interface/Web/QueryBuilder/Tree.pm b/lib/RT/Interface/Web/QueryBuilder/Tree.pm
index be03c7f..e94f70c 100755
--- a/lib/RT/Interface/Web/QueryBuilder/Tree.pm
+++ b/lib/RT/Interface/Web/QueryBuilder/Tree.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Web::QueryBuilder::Tree;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Interface/Web/Request.pm b/lib/RT/Interface/Web/Request.pm
index cbf852a..f682f71 100644
--- a/lib/RT/Interface/Web/Request.pm
+++ b/lib/RT/Interface/Web/Request.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Web::Request;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Interface/Web/Session.pm b/lib/RT/Interface/Web/Session.pm
index 9df5a13..6c2c198 100644
--- a/lib/RT/Interface/Web/Session.pm
+++ b/lib/RT/Interface/Web/Session.pm
@@ -47,8 +47,8 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Interface::Web::Session;
-use warnings;
 use strict;
+use warnings;
 
 use RT::CurrentUser;
 use UNIVERSAL::require;
diff --git a/lib/RT/Interface/Web/Standalone.pm b/lib/RT/Interface/Web/Standalone.pm
index 2954657..e1a1841 100755
--- a/lib/RT/Interface/Web/Standalone.pm
+++ b/lib/RT/Interface/Web/Standalone.pm
@@ -46,11 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
+package RT::Interface::Web::Standalone;
+
 use strict;
 use warnings;
-package RT::Interface::Web::Standalone;
 
 use base 'HTTP::Server::Simple::Mason';
+
 use RT::Interface::Web::Handler;
 use RT::Interface::Web;
 use URI;
diff --git a/lib/RT/Interface/Web/Standalone/PreFork.pm b/lib/RT/Interface/Web/Standalone/PreFork.pm
index a5c6d1d..b0445ab 100644
--- a/lib/RT/Interface/Web/Standalone/PreFork.pm
+++ b/lib/RT/Interface/Web/Standalone/PreFork.pm
@@ -46,10 +46,10 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use warnings;
+package RT::Interface::Web::Standalone::PreFork;
 use strict;
+use warnings;
 
-package RT::Interface::Web::Standalone::PreFork;
 use base qw/Net::Server::PreFork/;
 
 my %option_map = (
diff --git a/lib/RT/Link.pm b/lib/RT/Link.pm
index 443d5d6..99396ee 100755
--- a/lib/RT/Link.pm
+++ b/lib/RT/Link.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Link
 =cut
 
 package RT::Link;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/Link_Overlay.pm b/lib/RT/Link_Overlay.pm
index 4761010..a5c2bda 100755
--- a/lib/RT/Link_Overlay.pm
+++ b/lib/RT/Link_Overlay.pm
@@ -67,11 +67,10 @@ should only be accessed through exported APIs in Ticket other similar objects.
 
 
 package RT::Link;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
-
 use Carp;
 use RT::URI;
 
diff --git a/lib/RT/Links.pm b/lib/RT/Links.pm
index c20693c..290849c 100755
--- a/lib/RT/Links.pm
+++ b/lib/RT/Links.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Links;
-
-use RT::SearchBuilder;
-use RT::Link;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Link;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Links_Overlay.pm b/lib/RT/Links_Overlay.pm
index 08c3b14..63000ed 100755
--- a/lib/RT/Links_Overlay.pm
+++ b/lib/RT/Links_Overlay.pm
@@ -66,9 +66,10 @@
 
 
 package RT::Links;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
+
 use RT::URI;
 
 # {{{ sub Limit 
diff --git a/lib/RT/ObjectCustomField.pm b/lib/RT/ObjectCustomField.pm
index 5b86cfb..359a28d 100644
--- a/lib/RT/ObjectCustomField.pm
+++ b/lib/RT/ObjectCustomField.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,12 +67,13 @@ RT::ObjectCustomField
 =cut
 
 package RT::ObjectCustomField;
-use RT::Record; 
-use RT::CustomField;
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
+use RT::CustomField;
+
 sub _Init {
   my $self = shift; 
 
diff --git a/lib/RT/ObjectCustomFieldValue.pm b/lib/RT/ObjectCustomFieldValue.pm
index 11f695e..7169570 100644
--- a/lib/RT/ObjectCustomFieldValue.pm
+++ b/lib/RT/ObjectCustomFieldValue.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,12 +67,13 @@ RT::ObjectCustomFieldValue
 =cut
 
 package RT::ObjectCustomFieldValue;
-use RT::Record; 
-use RT::CustomField;
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
+use RT::CustomField;
+
 sub _Init {
   my $self = shift; 
 
diff --git a/lib/RT/ObjectCustomFieldValue_Overlay.pm b/lib/RT/ObjectCustomFieldValue_Overlay.pm
index 403d216..2524076 100644
--- a/lib/RT/ObjectCustomFieldValue_Overlay.pm
+++ b/lib/RT/ObjectCustomFieldValue_Overlay.pm
@@ -47,12 +47,12 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::ObjectCustomFieldValue;
-
 use strict;
 use warnings;
+no warnings qw(redefine);
+
 use RT::Interface::Web;
 
-no warnings qw(redefine);
 
 sub Create {
     my $self = shift;
diff --git a/lib/RT/ObjectCustomFieldValues.pm b/lib/RT/ObjectCustomFieldValues.pm
index d83275b..39dde33 100644
--- a/lib/RT/ObjectCustomFieldValues.pm
+++ b/lib/RT/ObjectCustomFieldValues.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::ObjectCustomFieldValues;
-
-use RT::SearchBuilder;
-use RT::ObjectCustomFieldValue;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::ObjectCustomFieldValue;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/ObjectCustomFieldValues_Overlay.pm b/lib/RT/ObjectCustomFieldValues_Overlay.pm
index 885bbbb..39a3b85 100644
--- a/lib/RT/ObjectCustomFieldValues_Overlay.pm
+++ b/lib/RT/ObjectCustomFieldValues_Overlay.pm
@@ -47,8 +47,8 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::ObjectCustomFieldValues;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub LimitToCustomField
diff --git a/lib/RT/ObjectCustomField_Overlay.pm b/lib/RT/ObjectCustomField_Overlay.pm
index 40c24c0..bd05d3f 100644
--- a/lib/RT/ObjectCustomField_Overlay.pm
+++ b/lib/RT/ObjectCustomField_Overlay.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::ObjectCustomField;
-
 use strict;
 use warnings;
 no warnings qw(redefine);
diff --git a/lib/RT/ObjectCustomFields.pm b/lib/RT/ObjectCustomFields.pm
index 4da2e38..b831af0 100644
--- a/lib/RT/ObjectCustomFields.pm
+++ b/lib/RT/ObjectCustomFields.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,13 @@ use strict;
 =cut
 
 package RT::ObjectCustomFields;
-
-use RT::SearchBuilder;
-use RT::ObjectCustomField;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::SearchBuilder;
+use RT::ObjectCustomField;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/ObjectCustomFields_Overlay.pm b/lib/RT/ObjectCustomFields_Overlay.pm
index f658455..5a69b96 100644
--- a/lib/RT/ObjectCustomFields_Overlay.pm
+++ b/lib/RT/ObjectCustomFields_Overlay.pm
@@ -47,8 +47,8 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::ObjectCustomFields;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 sub LimitToCustomField {
diff --git a/lib/RT/Plugin.pm b/lib/RT/Plugin.pm
index 846b021..bdc5ee8 100644
--- a/lib/RT/Plugin.pm
+++ b/lib/RT/Plugin.pm
@@ -46,10 +46,10 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use warnings;
+package RT::Plugin;
 use strict;
+use warnings;
 
-package RT::Plugin;
 use File::ShareDir;
 
 =head1 NAME
diff --git a/lib/RT/Principal.pm b/lib/RT/Principal.pm
index 829d2f6..053dbd7 100755
--- a/lib/RT/Principal.pm
+++ b/lib/RT/Principal.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Principal
 =cut
 
 package RT::Principal;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/Principal_Overlay.pm b/lib/RT/Principal_Overlay.pm
index 0754f5e..aa9f23e 100755
--- a/lib/RT/Principal_Overlay.pm
+++ b/lib/RT/Principal_Overlay.pm
@@ -49,16 +49,13 @@
 #
 
 package RT::Principal;
-
 use strict;
 use warnings;
 
-use Cache::Simple::TimedExpiry;
-
-
 use RT;
 use RT::Group;
 use RT::User;
+use Cache::Simple::TimedExpiry;
 
 # Set up the ACL cache on startup
 our $_ACL_CACHE;
diff --git a/lib/RT/Principals.pm b/lib/RT/Principals.pm
index 5376cad..46c5f40 100755
--- a/lib/RT/Principals.pm
+++ b/lib/RT/Principals.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Principals;
-
-use RT::SearchBuilder;
-use RT::Principal;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Principal;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Principals_Overlay.pm b/lib/RT/Principals_Overlay.pm
index de0ae8c..e15bd3e 100755
--- a/lib/RT/Principals_Overlay.pm
+++ b/lib/RT/Principals_Overlay.pm
@@ -65,11 +65,8 @@
 
 
 package RT::Principals;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
-
-
-
 1;
diff --git a/lib/RT/Queue.pm b/lib/RT/Queue.pm
index 9f182b4..a1ff8e1 100755
--- a/lib/RT/Queue.pm
+++ b/lib/RT/Queue.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Queue
 =cut
 
 package RT::Queue;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/Queue_Overlay.pm b/lib/RT/Queue_Overlay.pm
index e4e2839..d467b7b 100755
--- a/lib/RT/Queue_Overlay.pm
+++ b/lib/RT/Queue_Overlay.pm
@@ -64,8 +64,8 @@ An RT queue object.
 
 
 package RT::Queue;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::Groups;
diff --git a/lib/RT/Queues.pm b/lib/RT/Queues.pm
index 98e98a0..f5495be 100755
--- a/lib/RT/Queues.pm
+++ b/lib/RT/Queues.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Queues;
-
-use RT::SearchBuilder;
-use RT::Queue;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Queue;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Queues_Overlay.pm b/lib/RT/Queues_Overlay.pm
index 09a10bb..6ffc565 100755
--- a/lib/RT/Queues_Overlay.pm
+++ b/lib/RT/Queues_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::Queues;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub _Init
diff --git a/lib/RT/Record.pm b/lib/RT/Record.pm
index f8bec82..0279334 100755
--- a/lib/RT/Record.pm
+++ b/lib/RT/Record.pm
@@ -62,7 +62,6 @@
 =cut
 
 package RT::Record;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Report/Tickets.pm b/lib/RT/Report/Tickets.pm
index f258048..2cb2fbf 100644
--- a/lib/RT/Report/Tickets.pm
+++ b/lib/RT/Report/Tickets.pm
@@ -47,12 +47,12 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Report::Tickets;
+use strict;
+use warnings;
 
 use base qw/RT::Tickets/;
-use RT::Report::Tickets::Entry;
 
-use strict;
-use warnings;
+use RT::Report::Tickets::Entry;
 
 sub Groupings {
     my $self = shift;
diff --git a/lib/RT/Rule.pm b/lib/RT/Rule.pm
index 5130579..7e00f61 100644
--- a/lib/RT/Rule.pm
+++ b/lib/RT/Rule.pm
@@ -49,6 +49,7 @@
 package RT::Rule;
 use strict;
 use warnings;
+
 use base 'RT::Action';
 
 use constant _Stage => 'TransactionCreate';
diff --git a/lib/RT/Ruleset.pm b/lib/RT/Ruleset.pm
index 670c121..710a6ee 100644
--- a/lib/RT/Ruleset.pm
+++ b/lib/RT/Ruleset.pm
@@ -51,6 +51,7 @@ use strict;
 use warnings;
 
 use base 'Class::Accessor::Fast';
+
 use UNIVERSAL::require;
 
 __PACKAGE__->mk_accessors(qw(Name Rules));
diff --git a/lib/RT/SQL.pm b/lib/RT/SQL.pm
index b172312..f428e4b 100644
--- a/lib/RT/SQL.pm
+++ b/lib/RT/SQL.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::SQL;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/SavedSearch.pm b/lib/RT/SavedSearch.pm
index 12fa34d..cb835d2 100644
--- a/lib/RT/SavedSearch.pm
+++ b/lib/RT/SavedSearch.pm
@@ -63,9 +63,9 @@ a description, and a number of search parameters.
 =cut
 
 package RT::SavedSearch;
-
 use strict;
 use warnings;
+
 use base qw/RT::SharedSetting/;
 
 =head1 METHODS
diff --git a/lib/RT/SavedSearches.pm b/lib/RT/SavedSearches.pm
index 14f82bd..41c2562 100644
--- a/lib/RT/SavedSearches.pm
+++ b/lib/RT/SavedSearches.pm
@@ -66,12 +66,13 @@
 =cut
 
 package RT::SavedSearches;
-
-use RT::SavedSearch;
-
 use strict;
+use warnings;
+
 use base 'RT::Base';
 
+use RT::SavedSearch;
+
 sub new  {
     my $proto = shift;
     my $class = ref($proto) || $proto;
diff --git a/lib/RT/Scrip.pm b/lib/RT/Scrip.pm
index a8f278e..fbfcf07 100755
--- a/lib/RT/Scrip.pm
+++ b/lib/RT/Scrip.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,15 +67,16 @@ RT::Scrip
 =cut
 
 package RT::Scrip;
-use RT::Record; 
+use strict;
+use warnings;
+
+use base qw( RT::Record );
+
 use RT::Queue;
 use RT::Template;
 use RT::ScripCondition;
 use RT::ScripAction;
 
-
-use base qw( RT::Record );
-
 sub _Init {
   my $self = shift; 
 
diff --git a/lib/RT/ScripAction.pm b/lib/RT/ScripAction.pm
index 48400c5..908659d 100755
--- a/lib/RT/ScripAction.pm
+++ b/lib/RT/ScripAction.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::ScripAction
 =cut
 
 package RT::ScripAction;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/ScripAction_Overlay.pm b/lib/RT/ScripAction_Overlay.pm
index b647f09..df30fef 100755
--- a/lib/RT/ScripAction_Overlay.pm
+++ b/lib/RT/ScripAction_Overlay.pm
@@ -68,9 +68,10 @@ should only be accessed through exported APIs in other modules.
 
 
 package RT::ScripAction;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
+
 use RT::Template;
 use UNIVERSAL::require;
 
diff --git a/lib/RT/ScripActions.pm b/lib/RT/ScripActions.pm
index daf3290..e8a65eb 100755
--- a/lib/RT/ScripActions.pm
+++ b/lib/RT/ScripActions.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::ScripActions;
-
-use RT::SearchBuilder;
-use RT::ScripAction;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::ScripAction;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/ScripActions_Overlay.pm b/lib/RT/ScripActions_Overlay.pm
index 566e69e..7f6cff5 100755
--- a/lib/RT/ScripActions_Overlay.pm
+++ b/lib/RT/ScripActions_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::ScripActions;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub _Init
diff --git a/lib/RT/ScripCondition.pm b/lib/RT/ScripCondition.pm
index 04e2fe7..6ae5819 100755
--- a/lib/RT/ScripCondition.pm
+++ b/lib/RT/ScripCondition.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::ScripCondition
 =cut
 
 package RT::ScripCondition;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/ScripCondition_Overlay.pm b/lib/RT/ScripCondition_Overlay.pm
index 40ed8f1..946199e 100755
--- a/lib/RT/ScripCondition_Overlay.pm
+++ b/lib/RT/ScripCondition_Overlay.pm
@@ -68,9 +68,10 @@ should only be accessed through exported APIs in other modules.
 
 
 package RT::ScripCondition;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
+
 use UNIVERSAL::require;
 
 
diff --git a/lib/RT/ScripConditions.pm b/lib/RT/ScripConditions.pm
index 7845f18..ae35336 100755
--- a/lib/RT/ScripConditions.pm
+++ b/lib/RT/ScripConditions.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::ScripConditions;
-
-use RT::SearchBuilder;
-use RT::ScripCondition;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::ScripCondition;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/ScripConditions_Overlay.pm b/lib/RT/ScripConditions_Overlay.pm
index 8df303d..4e4623d 100755
--- a/lib/RT/ScripConditions_Overlay.pm
+++ b/lib/RT/ScripConditions_Overlay.pm
@@ -66,8 +66,8 @@
 
 
 package RT::ScripConditions;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub _Init
diff --git a/lib/RT/Scrip_Overlay.pm b/lib/RT/Scrip_Overlay.pm
index 80fada6..1584ba9 100755
--- a/lib/RT/Scrip_Overlay.pm
+++ b/lib/RT/Scrip_Overlay.pm
@@ -64,8 +64,8 @@
 
 
 package RT::Scrip;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub Create
diff --git a/lib/RT/Scrips.pm b/lib/RT/Scrips.pm
index 4f2038a..d699b4d 100755
--- a/lib/RT/Scrips.pm
+++ b/lib/RT/Scrips.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Scrips;
-
-use RT::SearchBuilder;
-use RT::Scrip;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Scrip;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Scrips_Overlay.pm b/lib/RT/Scrips_Overlay.pm
index c1074ed..c8077fd 100644
--- a/lib/RT/Scrips_Overlay.pm
+++ b/lib/RT/Scrips_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::Scrips;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub LimitToQueue 
diff --git a/lib/RT/Search.pm b/lib/RT/Search.pm
index e74ffb1..84f6839 100755
--- a/lib/RT/Search.pm
+++ b/lib/RT/Search.pm
@@ -73,8 +73,8 @@
 =cut
 
 package RT::Search;
-
 use strict;
+use warnings;
 
 # {{{ sub new 
 sub new  {
diff --git a/lib/RT/Search/ActiveTicketsInQueue.pm b/lib/RT/Search/ActiveTicketsInQueue.pm
index 3291456..fc174a7 100755
--- a/lib/RT/Search/ActiveTicketsInQueue.pm
+++ b/lib/RT/Search/ActiveTicketsInQueue.pm
@@ -64,10 +64,10 @@ Find all active tickets in the queue named in the argument passed in
 =cut
 
 package RT::Search::ActiveTicketsInQueue;
-
 use strict;
-use base qw(RT::Search);
+use warnings;
 
+use base qw(RT::Search);
 
 # {{{ sub Describe 
 sub Describe  {
diff --git a/lib/RT/Search/FromSQL.pm b/lib/RT/Search/FromSQL.pm
index 6f2a874..bb1f159 100644
--- a/lib/RT/Search/FromSQL.pm
+++ b/lib/RT/Search/FromSQL.pm
@@ -64,8 +64,9 @@ Find all tickets described by the SQL statement passed as an argument
 =cut
 
 package RT::Search::FromSQL;
-
 use strict;
+use warnings;
+
 use base qw(RT::Search);
 
 =head2 Describe
diff --git a/lib/RT/Search/Generic.pm b/lib/RT/Search/Generic.pm
index 589033e..e0b8fb0 100644
--- a/lib/RT/Search/Generic.pm
+++ b/lib/RT/Search/Generic.pm
@@ -63,9 +63,10 @@ This module is provided only for backwards compatibility.
 
 =cut
 
+package RT::Search::Generic;
 use strict;
 use warnings;
-package RT::Search::Generic;
+
 use base 'RT::Search';
 
 RT::Base->_ImportOverlays;
diff --git a/lib/RT/Search/Googleish.pm b/lib/RT/Search/Googleish.pm
index a3b4b71..6e06d39 100644
--- a/lib/RT/Search/Googleish.pm
+++ b/lib/RT/Search/Googleish.pm
@@ -65,9 +65,9 @@ Use the argument passed in as a "Google-style" set of keywords
 =cut
 
 package RT::Search::Googleish;
-
 use strict;
 use warnings;
+
 use base qw(RT::Search);
 
 use Regexp::Common qw/delimited/;
diff --git a/lib/RT/SearchBuilder.pm b/lib/RT/SearchBuilder.pm
index 985fe52..517acf4 100755
--- a/lib/RT/SearchBuilder.pm
+++ b/lib/RT/SearchBuilder.pm
@@ -63,10 +63,6 @@
 =cut
 
 package RT::SearchBuilder;
-
-use RT::Base;
-use DBIx::SearchBuilder "1.40";
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/SharedSetting.pm b/lib/RT/SharedSetting.pm
index 2364676..8aa3c7e 100644
--- a/lib/RT/SharedSetting.pm
+++ b/lib/RT/SharedSetting.pm
@@ -64,9 +64,11 @@ It consists of an ID, a name, and some arbitrary data.
 package RT::SharedSetting;
 use strict;
 use warnings;
-use RT::Attribute;
+
 use base qw/RT::Base/;
 
+use RT::Attribute;
+
 =head1 METHODS
 
 =head2 new
diff --git a/lib/RT/Shredder.pm b/lib/RT/Shredder.pm
index 8877548..285b80b 100644
--- a/lib/RT/Shredder.pm
+++ b/lib/RT/Shredder.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder;
-
 use strict;
 use warnings;
+
 use UNIVERSAL::require;
 
 
diff --git a/lib/RT/Shredder/ACE.pm b/lib/RT/Shredder/ACE.pm
index 7a70c89..0d8f47c 100644
--- a/lib/RT/Shredder/ACE.pm
+++ b/lib/RT/Shredder/ACE.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::ACE ();
 package RT::ACE;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::ACE ();
+
 use RT::Shredder::Exceptions;
 use RT::Shredder::Constants;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Attachment.pm b/lib/RT/Shredder/Attachment.pm
index a15199e..27e3708 100644
--- a/lib/RT/Shredder/Attachment.pm
+++ b/lib/RT/Shredder/Attachment.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Attachment ();
 package RT::Attachment;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Attachment ();
+
 use RT::Shredder::Exceptions;
 use RT::Shredder::Constants;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/CachedGroupMember.pm b/lib/RT/Shredder/CachedGroupMember.pm
index 21e2927..39b690b 100644
--- a/lib/RT/Shredder/CachedGroupMember.pm
+++ b/lib/RT/Shredder/CachedGroupMember.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::CachedGroupMember ();
 package RT::CachedGroupMember;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::CachedGroupMember ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependency;
diff --git a/lib/RT/Shredder/CustomField.pm b/lib/RT/Shredder/CustomField.pm
index 49a8a3b..6464283 100644
--- a/lib/RT/Shredder/CustomField.pm
+++ b/lib/RT/Shredder/CustomField.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::CustomField ();
 package RT::CustomField;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::CustomField ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/CustomFieldValue.pm b/lib/RT/Shredder/CustomFieldValue.pm
index 347379c..270cb12 100644
--- a/lib/RT/Shredder/CustomFieldValue.pm
+++ b/lib/RT/Shredder/CustomFieldValue.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::CustomFieldValue ();
 package RT::CustomFieldValue;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::CustomFieldValue ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Dependencies.pm b/lib/RT/Shredder/Dependencies.pm
index 40cab8e..3391501 100644
--- a/lib/RT/Shredder/Dependencies.pm
+++ b/lib/RT/Shredder/Dependencies.pm
@@ -47,8 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Dependencies;
-
 use strict;
+use warnings;
+
 use RT::Shredder::Exceptions;
 use RT::Shredder::Constants;
 use RT::Shredder::Dependency;
diff --git a/lib/RT/Shredder/Dependency.pm b/lib/RT/Shredder/Dependency.pm
index 1de1a93..0e109a3 100644
--- a/lib/RT/Shredder/Dependency.pm
+++ b/lib/RT/Shredder/Dependency.pm
@@ -47,8 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Dependency;
-
 use strict;
+use warnings;
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 
diff --git a/lib/RT/Shredder/Exceptions.pm b/lib/RT/Shredder/Exceptions.pm
index ca04f8e..1db12d5 100644
--- a/lib/RT/Shredder/Exceptions.pm
+++ b/lib/RT/Shredder/Exceptions.pm
@@ -47,9 +47,8 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Exception;
-
-use warnings;
 use strict;
+use warnings;
 
 use Exception::Class;
 use base qw(Exception::Class::Base);
diff --git a/lib/RT/Shredder/Group.pm b/lib/RT/Shredder/Group.pm
index 44aa9f4..f9d0430 100644
--- a/lib/RT/Shredder/Group.pm
+++ b/lib/RT/Shredder/Group.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Group ();
 package RT::Group;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Group ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/GroupMember.pm b/lib/RT/Shredder/GroupMember.pm
index f66e746..02ee2bb 100644
--- a/lib/RT/Shredder/GroupMember.pm
+++ b/lib/RT/Shredder/GroupMember.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::GroupMember ();
 package RT::GroupMember;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::GroupMember ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Link.pm b/lib/RT/Shredder/Link.pm
index 4517f7f..0f95f68 100644
--- a/lib/RT/Shredder/Link.pm
+++ b/lib/RT/Shredder/Link.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Link ();
 package RT::Link;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Link ();
+
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
 use RT::Shredder::Constants;
diff --git a/lib/RT/Shredder/ObjectCustomFieldValue.pm b/lib/RT/Shredder/ObjectCustomFieldValue.pm
index 449063d..c0ecd00 100644
--- a/lib/RT/Shredder/ObjectCustomFieldValue.pm
+++ b/lib/RT/Shredder/ObjectCustomFieldValue.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::ObjectCustomFieldValue ();
 package RT::ObjectCustomFieldValue;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::ObjectCustomFieldValue ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/POD.pm b/lib/RT/Shredder/POD.pm
index f7e2f2a..3c1787c 100644
--- a/lib/RT/Shredder/POD.pm
+++ b/lib/RT/Shredder/POD.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::POD;
-
 use strict;
 use warnings;
+
 use Pod::Select;
 
 sub plugin_html
diff --git a/lib/RT/Shredder/Plugin.pm b/lib/RT/Shredder/Plugin.pm
index 6be5eb6..4dd0429 100644
--- a/lib/RT/Shredder/Plugin.pm
+++ b/lib/RT/Shredder/Plugin.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin;
-
 use strict;
 use warnings FATAL => 'all';
+
 use File::Spec ();
 use UNIVERSAL::require;
 
diff --git a/lib/RT/Shredder/Plugin/Attachments.pm b/lib/RT/Shredder/Plugin/Attachments.pm
index 69ff7d1..149e5d6 100644
--- a/lib/RT/Shredder/Plugin/Attachments.pm
+++ b/lib/RT/Shredder/Plugin/Attachments.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Attachments;
-
 use strict;
 use warnings FATAL => 'all';
+
 use base qw(RT::Shredder::Plugin::Base::Search);
 
 =head1 NAME
diff --git a/lib/RT/Shredder/Plugin/Base.pm b/lib/RT/Shredder/Plugin/Base.pm
index a186365..0cc4401 100644
--- a/lib/RT/Shredder/Plugin/Base.pm
+++ b/lib/RT/Shredder/Plugin/Base.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Base;
-
 use strict;
 use warnings FATAL => 'all';
 
diff --git a/lib/RT/Shredder/Plugin/Base/Dump.pm b/lib/RT/Shredder/Plugin/Base/Dump.pm
index 7eb7a79..5447487 100644
--- a/lib/RT/Shredder/Plugin/Base/Dump.pm
+++ b/lib/RT/Shredder/Plugin/Base/Dump.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Base::Dump;
-
 use strict;
 use warnings FATAL => 'all';
 
diff --git a/lib/RT/Shredder/Plugin/Base/Search.pm b/lib/RT/Shredder/Plugin/Base/Search.pm
index 6f9d6ff..8dc5efa 100644
--- a/lib/RT/Shredder/Plugin/Base/Search.pm
+++ b/lib/RT/Shredder/Plugin/Base/Search.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Base::Search;
-
 use strict;
 use warnings FATAL => 'all';
 
diff --git a/lib/RT/Shredder/Plugin/Objects.pm b/lib/RT/Shredder/Plugin/Objects.pm
index f4b5685..bef8ee1 100644
--- a/lib/RT/Shredder/Plugin/Objects.pm
+++ b/lib/RT/Shredder/Plugin/Objects.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Objects;
-
 use strict;
 use warnings FATAL => 'all';
+
 use base qw(RT::Shredder::Plugin::Base::Search);
 
 use RT::Shredder;
diff --git a/lib/RT/Shredder/Plugin/SQLDump.pm b/lib/RT/Shredder/Plugin/SQLDump.pm
index b9e7868..b3b7c21 100644
--- a/lib/RT/Shredder/Plugin/SQLDump.pm
+++ b/lib/RT/Shredder/Plugin/SQLDump.pm
@@ -47,11 +47,11 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::SQLDump;
-
 use strict;
 use warnings;
 
 use base qw(RT::Shredder::Plugin::Base::Dump);
+
 use RT::Shredder;
 
 sub AppliesToStates { return 'after wiping dependencies' }
diff --git a/lib/RT/Shredder/Plugin/Summary.pm b/lib/RT/Shredder/Plugin/Summary.pm
index 9c9567a..6535a6b 100644
--- a/lib/RT/Shredder/Plugin/Summary.pm
+++ b/lib/RT/Shredder/Plugin/Summary.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Summary;
-
 use strict;
 use warnings FATAL => 'all';
 
diff --git a/lib/RT/Shredder/Plugin/Tickets.pm b/lib/RT/Shredder/Plugin/Tickets.pm
index 42b70b8..6fb39a6 100644
--- a/lib/RT/Shredder/Plugin/Tickets.pm
+++ b/lib/RT/Shredder/Plugin/Tickets.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Tickets;
-
 use strict;
 use warnings FATAL => 'all';
+
 use base qw(RT::Shredder::Plugin::Base::Search);
 
 =head1 NAME
diff --git a/lib/RT/Shredder/Plugin/Users.pm b/lib/RT/Shredder/Plugin/Users.pm
index 0e9c2a8..91f64a2 100644
--- a/lib/RT/Shredder/Plugin/Users.pm
+++ b/lib/RT/Shredder/Plugin/Users.pm
@@ -47,9 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Shredder::Plugin::Users;
-
 use strict;
 use warnings FATAL => 'all';
+
 use base qw(RT::Shredder::Plugin::Base::Search);
 
 =head1 NAME
diff --git a/lib/RT/Shredder/Principal.pm b/lib/RT/Shredder/Principal.pm
index cd75f75..0c94da0 100644
--- a/lib/RT/Shredder/Principal.pm
+++ b/lib/RT/Shredder/Principal.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Principal ();
 package RT::Principal;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Principal ();
+
 use RT::Shredder::Exceptions;
 use RT::Shredder::Constants;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Queue.pm b/lib/RT/Shredder/Queue.pm
index 8ee1094..554086d 100644
--- a/lib/RT/Shredder/Queue.pm
+++ b/lib/RT/Shredder/Queue.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Queue ();
 package RT::Queue;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Queue ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Record.pm b/lib/RT/Shredder/Record.pm
index 17e1179..8a62f35 100644
--- a/lib/RT/Shredder/Record.pm
+++ b/lib/RT/Shredder/Record.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Record ();
 package RT::Record;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Record ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 
diff --git a/lib/RT/Shredder/Scrip.pm b/lib/RT/Shredder/Scrip.pm
index 9d4a8f4..70f908e 100644
--- a/lib/RT/Shredder/Scrip.pm
+++ b/lib/RT/Shredder/Scrip.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Scrip ();
 package RT::Scrip;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Scrip ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/ScripAction.pm b/lib/RT/Shredder/ScripAction.pm
index 34c748f..54b379a 100644
--- a/lib/RT/Shredder/ScripAction.pm
+++ b/lib/RT/Shredder/ScripAction.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::ScripAction ();
 package RT::ScripAction;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::ScripAction ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/ScripCondition.pm b/lib/RT/Shredder/ScripCondition.pm
index 8349418..0076462 100644
--- a/lib/RT/Shredder/ScripCondition.pm
+++ b/lib/RT/Shredder/ScripCondition.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::ScripCondition ();
 package RT::ScripCondition;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::ScripCondition ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Template.pm b/lib/RT/Shredder/Template.pm
index 9a01332..6216c51 100644
--- a/lib/RT/Shredder/Template.pm
+++ b/lib/RT/Shredder/Template.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Template ();
 package RT::Template;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Template ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Ticket.pm b/lib/RT/Shredder/Ticket.pm
index cd8e82f..cb81f74 100644
--- a/lib/RT/Shredder/Ticket.pm
+++ b/lib/RT/Shredder/Ticket.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Ticket ();
 package RT::Ticket;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Ticket ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/Transaction.pm b/lib/RT/Shredder/Transaction.pm
index df0ac74..6466e76 100644
--- a/lib/RT/Shredder/Transaction.pm
+++ b/lib/RT/Shredder/Transaction.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::Transaction ();
 package RT::Transaction;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::Transaction ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/Shredder/User.pm b/lib/RT/Shredder/User.pm
index eccdea5..2f5957e 100644
--- a/lib/RT/Shredder/User.pm
+++ b/lib/RT/Shredder/User.pm
@@ -46,13 +46,13 @@
 #
 # END BPS TAGGED BLOCK }}}
 
-use RT::User ();
 package RT::User;
-
 use strict;
 use warnings;
 use warnings FATAL => 'redefine';
 
+use RT::User ();
+
 use RT::Shredder::Constants;
 use RT::Shredder::Exceptions;
 use RT::Shredder::Dependencies;
diff --git a/lib/RT/System.pm b/lib/RT/System.pm
index a335a11..13375f5 100755
--- a/lib/RT/System.pm
+++ b/lib/RT/System.pm
@@ -66,7 +66,6 @@ In the future, there will probably be other API goodness encapsulated here.
 
 
 package RT::System;
-
 use strict;
 use warnings;
 use base qw/RT::Record/;
diff --git a/lib/RT/Template.pm b/lib/RT/Template.pm
index 2b45898..6cb6454 100755
--- a/lib/RT/Template.pm
+++ b/lib/RT/Template.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,12 +67,13 @@ RT::Template
 =cut
 
 package RT::Template;
-use RT::Record; 
-use RT::Queue;
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
+use RT::Queue;
+
 sub _Init {
   my $self = shift; 
 
diff --git a/lib/RT/Template_Overlay.pm b/lib/RT/Template_Overlay.pm
index 7b97f23..b0f35b5 100755
--- a/lib/RT/Template_Overlay.pm
+++ b/lib/RT/Template_Overlay.pm
@@ -66,7 +66,6 @@
 
 
 package RT::Template;
-
 use strict;
 use warnings;
 no warnings qw(redefine);
diff --git a/lib/RT/Templates.pm b/lib/RT/Templates.pm
index 6a99c1d..b5a3c5b 100755
--- a/lib/RT/Templates.pm
+++ b/lib/RT/Templates.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Templates;
-
-use RT::SearchBuilder;
-use RT::Template;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Template;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Templates_Overlay.pm b/lib/RT/Templates_Overlay.pm
index f702d3c..07c1f29 100755
--- a/lib/RT/Templates_Overlay.pm
+++ b/lib/RT/Templates_Overlay.pm
@@ -49,6 +49,7 @@
 =head1 NAME
 
   RT::Templates - a collection of RT Template objects
+use warnings;
 
 =head1 SYNOPSIS
 
@@ -64,11 +65,10 @@
 
 
 package RT::Templates;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
-
 # {{{ sub _Init
 
 =head2 _Init
diff --git a/lib/RT/Test.pm b/lib/RT/Test.pm
index 266d47c..64b391d 100644
--- a/lib/RT/Test.pm
+++ b/lib/RT/Test.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Test;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Test/Email.pm b/lib/RT/Test/Email.pm
index 2d3d811..641aefa 100644
--- a/lib/RT/Test/Email.pm
+++ b/lib/RT/Test/Email.pm
@@ -46,10 +46,10 @@
 #
 # END BPS TAGGED BLOCK }}}
 
+package RT::Test::Email;
 use warnings;
 use strict;
 
-package RT::Test::Email;
 use Test::More;
 use Test::Email;
 use Email::Abstract;
diff --git a/lib/RT/Test/Web.pm b/lib/RT/Test/Web.pm
index 62432d3..e94b013 100644
--- a/lib/RT/Test/Web.pm
+++ b/lib/RT/Test/Web.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Test::Web;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Ticket.pm b/lib/RT/Ticket.pm
index 75a6160..935d0da 100755
--- a/lib/RT/Ticket.pm
+++ b/lib/RT/Ticket.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,12 +67,13 @@ RT::Ticket
 =cut
 
 package RT::Ticket;
-use RT::Record; 
-use RT::Queue;
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
+use RT::Queue;
+
 sub _Init {
   my $self = shift; 
 
diff --git a/lib/RT/Ticket_Overlay.pm b/lib/RT/Ticket_Overlay.pm
index 4d2b9aa..7d2b46d 100755
--- a/lib/RT/Ticket_Overlay.pm
+++ b/lib/RT/Ticket_Overlay.pm
@@ -66,8 +66,8 @@ This module lets you manipulate RT\'s ticket object.
 
 
 package RT::Ticket;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::Queue;
diff --git a/lib/RT/Tickets.pm b/lib/RT/Tickets.pm
index 43ca094..7d1caac 100755
--- a/lib/RT/Tickets.pm
+++ b/lib/RT/Tickets.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Tickets;
-
-use RT::SearchBuilder;
-use RT::Ticket;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Ticket;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Tickets_Overlay.pm b/lib/RT/Tickets_Overlay.pm
index b9634cc..c4189de 100755
--- a/lib/RT/Tickets_Overlay.pm
+++ b/lib/RT/Tickets_Overlay.pm
@@ -77,8 +77,8 @@
 =cut
 
 package RT::Tickets;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use RT::CustomFields;
diff --git a/lib/RT/Tickets_Overlay_SQL.pm b/lib/RT/Tickets_Overlay_SQL.pm
index 450cfe1..2fb1274 100755
--- a/lib/RT/Tickets_Overlay_SQL.pm
+++ b/lib/RT/Tickets_Overlay_SQL.pm
@@ -47,7 +47,6 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::Tickets;
-
 use strict;
 use warnings;
 
diff --git a/lib/RT/Transaction.pm b/lib/RT/Transaction.pm
index 76156dc..5208e8e 100755
--- a/lib/RT/Transaction.pm
+++ b/lib/RT/Transaction.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::Transaction
 =cut
 
 package RT::Transaction;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/Transaction_Overlay.pm b/lib/RT/Transaction_Overlay.pm
index 1e3c833..780cb92 100755
--- a/lib/RT/Transaction_Overlay.pm
+++ b/lib/RT/Transaction_Overlay.pm
@@ -70,8 +70,8 @@ It can have arbitrary MIME attachments.
 
 
 package RT::Transaction;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use vars qw( %_BriefDescriptions $PreferredContentType );
diff --git a/lib/RT/Transactions.pm b/lib/RT/Transactions.pm
index 01ff808..9ec6fa9 100755
--- a/lib/RT/Transactions.pm
+++ b/lib/RT/Transactions.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Transactions;
-
-use RT::SearchBuilder;
-use RT::Transaction;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::Transaction;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Transactions_Overlay.pm b/lib/RT/Transactions_Overlay.pm
index 9f029cc..2d15d37 100755
--- a/lib/RT/Transactions_Overlay.pm
+++ b/lib/RT/Transactions_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::Transactions;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub _Init  
diff --git a/lib/RT/URI.pm b/lib/RT/URI.pm
index 6734df7..92ee8c1 100755
--- a/lib/RT/URI.pm
+++ b/lib/RT/URI.pm
@@ -47,8 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::URI;
-
 use strict;
+use warnings;
+
 use base 'RT::Base';
 
 use RT::URI::base;
diff --git a/lib/RT/URI/base.pm b/lib/RT/URI/base.pm
index ab4920c..807058c 100755
--- a/lib/RT/URI/base.pm
+++ b/lib/RT/URI/base.pm
@@ -47,8 +47,9 @@
 # END BPS TAGGED BLOCK }}}
 
 package RT::URI::base;
-
 use strict;
+use warnings;
+
 use base qw(RT::Base);
 
 =head1 NAME
diff --git a/lib/RT/URI/fsck_com_rt.pm b/lib/RT/URI/fsck_com_rt.pm
index 4308e1e..eee83ef 100755
--- a/lib/RT/URI/fsck_com_rt.pm
+++ b/lib/RT/URI/fsck_com_rt.pm
@@ -46,10 +46,10 @@
 #
 # END BPS TAGGED BLOCK }}}
 
+package RT::URI::fsck_com_rt;
 use strict;
 use warnings;
 
-package RT::URI::fsck_com_rt;
 use base 'RT::URI::base';
 
 =head2 LocalURIPrefix  
diff --git a/lib/RT/URI/t.pm b/lib/RT/URI/t.pm
index bce178a..63a41a7 100644
--- a/lib/RT/URI/t.pm
+++ b/lib/RT/URI/t.pm
@@ -70,10 +70,10 @@
 # 
 # END LICENSE BLOCK
 
+package RT::URI::t;
 use strict;
 use warnings;
 
-package RT::URI::t;
 use base 'RT::URI::fsck_com_rt';
 
 =head1 NAME
diff --git a/lib/RT/User.pm b/lib/RT/User.pm
index 19ae701..5ccba26 100755
--- a/lib/RT/User.pm
+++ b/lib/RT/User.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -69,8 +67,8 @@ RT::User
 =cut
 
 package RT::User;
-use RT::Record; 
-
+use strict;
+use warnings;
 
 use base qw( RT::Record );
 
diff --git a/lib/RT/User_Overlay.pm b/lib/RT/User_Overlay.pm
index d201ca0..284c888 100755
--- a/lib/RT/User_Overlay.pm
+++ b/lib/RT/User_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::User;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 use Digest::SHA;
diff --git a/lib/RT/Users.pm b/lib/RT/Users.pm
index f03bef0..630a55d 100755
--- a/lib/RT/Users.pm
+++ b/lib/RT/Users.pm
@@ -52,8 +52,6 @@
 # !! DO NOT EDIT THIS FILE !!
 #
 
-use strict;
-
 
 =head1 NAME
 
@@ -71,12 +69,12 @@ use strict;
 =cut
 
 package RT::Users;
-
-use RT::SearchBuilder;
-use RT::User;
+use strict;
+use warnings;
 
 use base qw(RT::SearchBuilder);
 
+use RT::User;
 
 sub _Init {
     my $self = shift;
diff --git a/lib/RT/Users_Overlay.pm b/lib/RT/Users_Overlay.pm
index ddc5e99..79ae709 100755
--- a/lib/RT/Users_Overlay.pm
+++ b/lib/RT/Users_Overlay.pm
@@ -65,8 +65,8 @@
 
 
 package RT::Users;
-
 use strict;
+use warnings;
 no warnings qw(redefine);
 
 # {{{ sub _Init 

commit ede269631bc447e9e5b9149256ddb8368b41867d
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Fri Aug 19 13:35:53 2011 -0400

    Add warnings to all binaries missing them, removing -w from shebang line
    
    Adding -w turns on warnings globally, masking the packages that fail to
    have 'use warnings' explicitly.  Force warnings on for the files that
    were lacking them, and transition to file-scoped 'use warnings' for
    files that had been relying on the shenbang line, for consistency.

diff --git a/bin/mason_handler.svc.in b/bin/mason_handler.svc.in
index f218b31..17147b2 100755
--- a/bin/mason_handler.svc.in
+++ b/bin/mason_handler.svc.in
@@ -46,6 +46,7 @@
 # those contributions and any derivatives thereof.
 #
 # END BPS TAGGED BLOCK }}}
+
 =head1 NAME
 
 mason_handler.svc - Win32 IIS Service handler for RT
@@ -81,6 +82,8 @@ registry setting will also be automatically populated.
 package RT::Mason;
 
 use strict;
+use warnings;
+
 use File::Basename;
 use vars '$Handler';
 require (dirname(__FILE__) . '/webmux.pl');
diff --git a/bin/rt-crontool.in b/bin/rt-crontool.in
index c18ce1e..345899f 100755
--- a/bin/rt-crontool.in
+++ b/bin/rt-crontool.in
@@ -47,6 +47,8 @@
 #
 # END BPS TAGGED BLOCK }}}
 use strict;
+use warnings;
+
 use Carp;
 
 # fix lib paths, some may be relative
diff --git a/bin/rt.in b/bin/rt.in
index 1f6a2a7..3e8429c 100755
--- a/bin/rt.in
+++ b/bin/rt.in
@@ -1,4 +1,4 @@
-#!@PERL@ -w
+#!@PERL@
 # BEGIN BPS TAGGED BLOCK {{{
 #
 # COPYRIGHT:
@@ -50,6 +50,7 @@
 # Abhijit Menon-Sen <ams at wiw.org>
 
 use strict;
+use warnings;
 
 # This program is intentionally written to have as few non-core module
 # dependencies as possible. It should stay that way.
diff --git a/bin/webmux.pl.in b/bin/webmux.pl.in
index f4bb113..97f9d38 100755
--- a/bin/webmux.pl.in
+++ b/bin/webmux.pl.in
@@ -47,6 +47,8 @@
 #
 # END BPS TAGGED BLOCK }}}
 use strict;
+use warnings;
+
 local $ENV{'PATH'}   = '/bin:/usr/bin';                   # or whatever you need
 local $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'};
 local $ENV{'SHELL'}  = '/bin/sh' if defined $ENV{'SHELL'};
diff --git a/sbin/extract-message-catalog b/sbin/extract-message-catalog
index 225e97f..632064b 100755
--- a/sbin/extract-message-catalog
+++ b/sbin/extract-message-catalog
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w 
+#!/usr/bin/perl
 # BEGIN BPS TAGGED BLOCK {{{
 #
 # COPYRIGHT:
@@ -49,6 +49,7 @@
 # Portions Copyright 2002 Autrijus Tang <autrijus at autrijus.org>
 
 use strict;
+use warnings;
 
 use File::Find;
 use File::Copy;
diff --git a/sbin/factory b/sbin/factory
index 97dc31c..5a41979 100755
--- a/sbin/factory
+++ b/sbin/factory
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 # BEGIN BPS TAGGED BLOCK {{{
 #
 # COPYRIGHT:
@@ -47,6 +47,8 @@
 #
 # END BPS TAGGED BLOCK }}}
 use strict;
+use warnings;
+
 use DBI;
 
 die "Usage: $0 database namespace" if @ARGV != 2;
diff --git a/sbin/rt-dump-database.in b/sbin/rt-dump-database.in
index 6a3d40d..a500269 100755
--- a/sbin/rt-dump-database.in
+++ b/sbin/rt-dump-database.in
@@ -1,4 +1,4 @@
-#!@PERL@ -w
+#!@PERL@
 # BEGIN BPS TAGGED BLOCK {{{
 #
 # COPYRIGHT:
@@ -47,6 +47,7 @@
 #
 # END BPS TAGGED BLOCK }}}
 use strict;
+use warnings;
 
 # As we specify that XML is UTF-8 and we output it to STDOUT, we must be sure
 # it is UTF-8 so further XMLin will not break

commit c3ebd6a376fa3c56cfec3b08bda7f2a97906960f
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Fri Aug 19 13:58:34 2011 -0400

    Remove unused one-liner

diff --git a/sbin/tweak-template-locstring b/sbin/tweak-template-locstring
deleted file mode 100644
index 4576419..0000000
--- a/sbin/tweak-template-locstring
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/perl -w
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-#                                          <sales at bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
-# This work is made available to you under the terms of Version 2 of
-# the GNU General Public License. A copy of that license should have
-# been provided with this software, but in any event can be snarfed
-# from www.gnu.org.
-#
-# This work is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301 or visit their web page on the internet at
-# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-#
-#
-# CONTRIBUTION SUBMISSION POLICY:
-#
-# (The following paragraph is not intended to limit the rights granted
-# to you to modify and distribute this software under the terms of
-# the GNU General Public License and is only of importance to you if
-# you choose to contribute your changes and enhancements to the
-# community by submitting them to Best Practical Solutions, LLC.)
-#
-# By intentionally submitting any modifications, corrections or
-# derivatives to this work, or any other work intended for use with
-# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-# you are the copyright holder for those contributions and you grant
-# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
-# royalty-free, perpetual, license to use, copy, create derivative
-# works based on those contributions, and sublicense and distribute
-# those contributions and any derivatives thereof.
-#
-# END BPS TAGGED BLOCK }}}
-use strict;
-# run this script with:
-# perl -0pi sbin/tweak-template-locstring `ack -f share/html -G 'html$'`
-s!\<\&\|\/l([^&]*)\&\>[\n\s]+(.*?)[\n\s]*\<\/\&\>!;my ($arg, $x) = ($1, $2); $x =~ s/\s*\n\s*/ /g;"<&|/l$arg&>$x</&>"!smge;
-
-
-1;

commit 8cbdb875383758285298f4bcf1d8282b4d04667c
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Fri Aug 19 14:13:19 2011 -0400

    Swap mixed-precedence boolean operators for a real block

diff --git a/lib/RT/Crypt/GnuPG.pm b/lib/RT/Crypt/GnuPG.pm
index a2dc775..568f5b9 100644
--- a/lib/RT/Crypt/GnuPG.pm
+++ b/lib/RT/Crypt/GnuPG.pm
@@ -452,7 +452,9 @@ sub CallGnuPG {
     my $err = $@;
     if ($args{Output}) {
         push @{$args{Output}}, readline $handle{stdout};
-        close $handle{stdout} or $err ||= "Can't close gnupg output handle: $!";
+        if (not close $handle{stdout}) {
+            $err ||= "Can't close gnupg output handle: $!";
+        }
     }
 
     return Finalize( $err, \%handle );
@@ -468,7 +470,9 @@ sub Finalize {
     foreach ( qw(stderr logger status) ) {
         $res{$_} = do { local $/ = undef; readline $handle{$_} };
         delete $res{$_} unless $res{$_} && $res{$_} =~ /\S/s;
-        close $handle{$_} or $err ||= "Can't close gnupg $_ handle: $!";
+        if (not close $handle{$_}) {
+            $err ||= "Can't close gnupg $_ handle: $!";
+        }
     }
     $RT::Logger->debug( $res{'status'} ) if $res{'status'};
     $RT::Logger->warning( $res{'stderr'} ) if $res{'stderr'};

-----------------------------------------------------------------------


More information about the Rt-commit mailing list