| File | /usr/lib/perl5/5.10.1/strict.pm |
| Statements Executed | 1862 |
| Statement Execution Time | 18.2ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 414 | 341 | 326 | 6.43ms | 6.51ms | strict::import |
| 113 | 3 | 1 | 3.54ms | 3.54ms | strict::bits |
| 115 | 115 | 66 | 2.97ms | 6.36ms | strict::unimport |
| 1 | 1 | 2 | 116µs | 116µs | strict::CORE:regcomp (opcode) |
| 1 | 1 | 2 | 19µs | 19µs | strict::CORE:match (opcode) |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package strict; | ||||
| 2 | |||||
| 3 | 1 | 3µs | $strict::VERSION = "1.04"; | ||
| 4 | |||||
| 5 | # Verify that we're called correctly so that strictures will work. | ||||
| 6 | 1 | 257µs | 2 | 136µs | unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) { # spent 116µs making 1 call to strict::CORE:regcomp
# spent 19µs making 1 call to strict::CORE:match |
| 7 | # Can't use Carp, since Carp uses us! | ||||
| 8 | my (undef, $f, $l) = caller; | ||||
| 9 | die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n"); | ||||
| 10 | } | ||||
| 11 | |||||
| 12 | 1 | 7µs | my %bitmask = ( | ||
| 13 | refs => 0x00000002, | ||||
| 14 | subs => 0x00000200, | ||||
| 15 | vars => 0x00000400 | ||||
| 16 | ); | ||||
| 17 | |||||
| 18 | sub bits { | ||||
| 19 | 113 | 280µs | my $bits = 0; | ||
| 20 | 113 | 162µs | my @wrong; | ||
| 21 | 113 | 723µs | foreach my $s (@_) { | ||
| 22 | 117 | 545µs | push @wrong, $s unless exists $bitmask{$s}; | ||
| 23 | 117 | 741µs | $bits |= $bitmask{$s} || 0; | ||
| 24 | } | ||||
| 25 | 113 | 256µs | if (@wrong) { | ||
| 26 | require Carp; | ||||
| 27 | Carp::croak("Unknown 'strict' tag(s) '@wrong'"); | ||||
| 28 | } | ||||
| 29 | 113 | 1.39ms | $bits; | ||
| 30 | } | ||||
| 31 | |||||
| 32 | 1 | 9µs | 1 | 69µs | my $default_bits = bits(qw(refs subs vars)); # spent 69µs making 1 call to strict::bits |
| 33 | |||||
| 34 | # spent 6.51ms (6.43+87µs) within strict::import which was called 414 times, avg 16µs/call:
# 68 times (1.04ms+0s) by Moose::Exporter::__ANON__[/usr/lib/perl5/vendor_perl/5.10.1/i386-linux-thread-multi/Moose/Exporter.pm:389] at line 344 of Moose/Exporter.pm, avg 15µs/call
# 7 times (62µs+0s) by Moose::Exporter::import at line 566 of Moose/Exporter.pm, avg 9µs/call
# once (198µs+0s) by Template::VMethods::BEGIN@24 at line 24 of Template/VMethods.pm
# once (181µs+0s) by IO::Dir::BEGIN@11 at line 11 of IO/Dir.pm
# once (144µs+0s) by Catalyst::Plugin::Session::Store::BEGIN@5 at line 5 of Catalyst/Plugin/Session/Store.pm
# once (121µs+0s) by Compress::Raw::Zlib::BEGIN@11 at line 11 of Compress/Raw/Zlib.pm
# once (116µs+0s) by Epoll::DB::BEGIN@5 at line 5 of Epoll/DB.pm
# once (72µs+0s) by HTTP::Body::BEGIN@3 at line 3 of HTTP/Body.pm
# once (72µs+0s) by Net::SMTP::BEGIN@11 at line 11 of Net/SMTP.pm
# once (71µs+0s) by HTML::Entities::BEGIN@138 at line 138 of HTML/Entities.pm
# once (67µs+0s) by Mail::Mailer::BEGIN@5 at line 5 of Mail/Mailer/smtp.pm
# once (64µs+0s) by List::Util::BEGIN@11 at line 11 of List/Util.pm
# once (63µs+0s) by AutoLoader::BEGIN@3 at line 3 of AutoLoader.pm
# once (60µs+0s) by File::Find::BEGIN@424 at line 424 of File/Find.pm
# once (59µs+0s) by IO::Uncompress::RawInflate::BEGIN@4 at line 4 of IO/Uncompress/RawInflate.pm
# once (22µs+33µs) by Class::Data::Inheritable::BEGIN@3 at line 3 of Class/Data/Inheritable.pm
# once (23µs+30µs) by vars::BEGIN@8 at line 8 of vars.pm
# once (22µs+24µs) by base::BEGIN@3 at line 3 of base.pm
# once (25µs+0s) by Epoll::DB::Poll::BSubmit::BEGIN@5 at line 5 of Epoll/DB/Poll/BSubmit.pm
# once (24µs+0s) by Encode::Alias::BEGIN@2 at line 2 of Encode/Alias.pm
# once (23µs+0s) by Pod::Select::BEGIN@11 at line 11 of Pod/Select.pm
# once (16µs+0s) by Moose::Util::BEGIN@3 at line 3 of Moose/Util.pm
# once (16µs+0s) by Epoll::Controller::Newpoll::BEGIN@3 at line 3 of Epoll/Controller/Newpoll.pm
# once (16µs+0s) by DBD::_::st::BEGIN@1799 at line 1799 of DBI.pm
# once (16µs+0s) by re::BEGIN@4 at line 4 of re.pm
# once (16µs+0s) by Moose::Meta::TypeConstraint::Registry::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Registry.pm
# once (16µs+0s) by Epoll::DB::Voting::BEGIN@5 at line 5 of Epoll/DB/Voting.pm
# once (16µs+0s) by Compress::Zlib::BEGIN@16 at line 16 of Compress/Zlib.pm
# once (16µs+0s) by Moose::Meta::TypeConstraint::Enum::BEGIN@3 at line 3 of Moose/Meta/TypeConstraint/Enum.pm
# once (15µs+0s) by List::MoreUtils::BEGIN@4 at line 4 of List/MoreUtils.pm
# once (15µs+0s) by File::Copy::BEGIN@11 at line 11 of File/Copy.pm
# once (15µs+0s) by Moose::Meta::Role::Composite::BEGIN@3 at line 3 of Moose/Meta/Role/Composite.pm
# once (15µs+0s) by Catalyst::Plugin::ConfigLoader::BEGIN@3 at line 3 of Catalyst/Plugin/ConfigLoader.pm
# once (15µs+0s) by Catalyst::Utils::BEGIN@3 at line 3 of Catalyst/Utils.pm
# once (15µs+0s) by Exception::Class::BEGIN@5 at line 5 of Exception/Class.pm
# once (15µs+0s) by Template::Plugins::BEGIN@26 at line 26 of Template/Plugins.pm
# once (15µs+0s) by Locale::Maketext::Lexicon::BEGIN@5 at line 5 of Locale/Maketext/Lexicon.pm
# once (15µs+0s) by Template::Grammar::BEGIN@33 at line 33 of Template/Grammar.pm
# once (15µs+0s) by Net::Config::BEGIN@12 at line 12 of Net/Config.pm
# once (15µs+0s) by HTML::Prototype::Js::BEGIN@3 at line 3 of HTML/Prototype/Js.pm
# once (15µs+0s) by Devel::InnerPackage::BEGIN@3 at line 3 of Devel/InnerPackage.pm
# once (15µs+0s) by Moose::Meta::Role::BEGIN@4 at line 4 of Moose/Meta/Role.pm
# once (15µs+0s) by IO::Select::BEGIN@9 at line 9 of IO/Select.pm
# once (15µs+0s) by Config::BEGIN@9 at line 9 of Config.pm
# once (15µs+0s) by Class::MOP::Attribute::BEGIN@4 at line 4 of Class/MOP/Attribute.pm
# once (15µs+0s) by Moose::Meta::TypeConstraint::DuckType::BEGIN@3 at line 3 of Moose/Meta/TypeConstraint/DuckType.pm
# once (15µs+0s) by Moose::Meta::TypeCoercion::BEGIN@4 at line 4 of Moose/Meta/TypeCoercion.pm
# once (15µs+0s) by Encode::Config::BEGIN@7 at line 7 of Encode/Config.pm
# once (15µs+0s) by Moose::Meta::Role::Application::BEGIN@3 at line 3 of Moose/Meta/Role/Application.pm
# once (15µs+0s) by Class::MOP::Deprecated::BEGIN@3 at line 3 of Class/MOP/Deprecated.pm
# once (15µs+0s) by Locale::Maketext::Lexicon::Gettext::BEGIN@4 at line 4 of Locale/Maketext/Lexicon/Gettext.pm
# once (15µs+0s) by Tie::ToObject::BEGIN@5 at line 5 of Tie/ToObject.pm
# once (15µs+0s) by Locale::Maketext::GutsLoader::BEGIN@5 at line 5 of Locale/Maketext/GutsLoader.pm
# once (15µs+0s) by DBD::Pg::db::BEGIN@251 at line 251 of DBD/Pg.pm
# once (15µs+0s) by Template::Parser::BEGIN@35 at line 35 of Template/Parser.pm
# once (15µs+0s) by Epoll::Controller::Ballot::BEGIN@3 at line 3 of Epoll/Controller/Ballot.pm
# once (15µs+0s) by Moose::BEGIN@2 at line 2 of Moose.pm
# once (14µs+0s) by Moose::Meta::Method::Destructor::BEGIN@4 at line 4 of Moose/Meta/Method/Destructor.pm
# once (14µs+0s) by Catalyst::Devel::BEGIN@3 at line 3 of Catalyst/Devel.pm
# once (14µs+0s) by Time::Local::BEGIN@6 at line 6 of Time/Local.pm
# once (14µs+0s) by Moose::Meta::Instance::BEGIN@4 at line 4 of Moose/Meta/Instance.pm
# once (14µs+0s) by LaTeX::Driver::Paths::BEGIN@26 at line 26 of LaTeX/Driver/Paths.pm
# once (14µs+0s) by Pod::InputObjects::BEGIN@12 at line 12 of Pod/InputObjects.pm
# once (14µs+0s) by Class::MOP::Class::BEGIN@4 at line 4 of Class/MOP/Class.pm
# once (14µs+0s) by Moose::Meta::TypeConstraint::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint.pm
# once (14µs+0s) by Moose::Meta::Mixin::AttributeCore::BEGIN@3 at line 3 of Moose/Meta/Mixin/AttributeCore.pm
# once (14µs+0s) by HTTP::Status::BEGIN@3 at line 3 of HTTP/Status.pm
# once (14µs+0s) by main::BEGIN@12 at line 12 of /usr/bin/epoll_server.pl
# once (14µs+0s) by Epoll::View::Ajax::BEGIN@3 at line 3 of Epoll/View/Ajax.pm
# once (14µs+0s) by Moose::Util::TypeConstraints::OptimizedConstraints::BEGIN@3 at line 3 of Moose/Util/TypeConstraints/OptimizedConstraints.pm
# once (14µs+0s) by Template::Iterator::BEGIN@24 at line 24 of Template/Iterator.pm
# once (14µs+0s) by Epoll::View::TT::BEGIN@3 at line 3 of Epoll/View/TT.pm
# once (14µs+0s) by utf8::BEGIN@2 at line 2 of utf8_heavy.pl
# once (14µs+0s) by File::Glob::BEGIN@3 at line 3 of File/Glob.pm
# once (14µs+0s) by MooseX::Role::WithOverloading::Meta::Role::Application::Composite::ToClass::BEGIN@1 at line 1 of namespace/autoclean.pm
# once (14µs+0s) by Encode::BEGIN@5 at line 5 of Encode.pm
# once (14µs+0s) by Template::BEGIN@22 at line 22 of Template.pm
# once (14µs+0s) by Digest::SHA1::BEGIN@3 at line 3 of Digest/SHA1.pm
# once (14µs+0s) by DBI::_firesafe::BEGIN@13 at line 13 of DBD/Pg.pm
# once (14µs+0s) by Catalyst::Utils::BEGIN@1 at line 1 of String/RewritePrefix.pm
# once (14µs+0s) by Data::Dump::BEGIN@3 at line 3 of Data/Dump.pm
# once (14µs+0s) by Epoll::View::Latex::BEGIN@3 at line 3 of Epoll/View/Latex.pm
# once (14µs+0s) by Crypt::RSA::Key::Public::SSH::BEGIN@12 at line 12 of Crypt/RSA/Key/Public/SSH.pm
# once (14µs+0s) by Catalyst::Plugin::Prototype::BEGIN@3 at line 3 of Catalyst/Plugin/Prototype.pm
# once (14µs+0s) by Template::Stash::XS::BEGIN@14 at line 14 of Template/Stash/XS.pm
# once (14µs+0s) by Catalyst::Plugin::Session::Store::DBI::BEGIN@3 at line 3 of Catalyst/Plugin/Session/Store/DBI.pm
# once (14µs+0s) by Class::MOP::Method::Constructor::BEGIN@4 at line 4 of Class/MOP/Method/Constructor.pm
# once (14µs+0s) by Mail::Mailer::smtp::BEGIN@5 at line 5 of Mail/Util.pm
# once (14µs+0s) by IO::Uncompress::Gunzip::BEGIN@8 at line 8 of IO/Uncompress/Gunzip.pm
# once (14µs+0s) by YAML::Node::BEGIN@3 at line 3 of YAML/Node.pm
# once (14µs+0s) by Catalyst::Component::BEGIN@1 at line 1 of Class/C3/Adopt/NEXT.pm
# once (14µs+0s) by Catalyst::Plugin::Session::State::BEGIN@5 at line 5 of Catalyst/Plugin/Session/State.pm
# once (14µs+0s) by Epoll::View::Mail::BEGIN@3 at line 3 of Epoll/View/Mail.pm
# once (14µs+0s) by IO::Compress::Gzip::BEGIN@6 at line 6 of IO/Compress/Gzip.pm
# once (14µs+0s) by MooseX::MethodAttributes::Role::Meta::Role::BEGIN@1 at line 1 of MooseX/MethodAttributes.pm
# once (14µs+0s) by Net::Cmd::BEGIN@12 at line 12 of Net/Cmd.pm
# once (14µs+0s) by YAML::XS::BEGIN@27 at line 27 of YAML/XS.pm
# once (14µs+0s) by Crypt::RSA::Key::Public::BEGIN@12 at line 12 of Crypt/RSA/Key/Public.pm
# once (14µs+0s) by MIME::Types::BEGIN@11 at line 11 of MIME/Types.pm
# once (14µs+0s) by IO::Uncompress::Adapter::Inflate::BEGIN@3 at line 3 of IO/Uncompress/Adapter/Inflate.pm
# once (14µs+0s) by Class::MOP::Method::BEGIN@4 at line 4 of Class/MOP/Method.pm
# once (14µs+0s) by Moose::Meta::Method::Delegation::BEGIN@4 at line 4 of Moose/Meta/Method/Delegation.pm
# once (14µs+0s) by Devel::StackTraceFrame::BEGIN@244 at line 244 of Devel/StackTrace.pm
# once (14µs+0s) by Path::Class::BEGIN@8 at line 8 of Path/Class.pm
# once (14µs+0s) by Moose::Meta::TypeConstraint::Class::BEGIN@3 at line 3 of Moose/Meta/TypeConstraint/Class.pm
# once (14µs+0s) by Moose::Meta::Role::Application::ToClass::BEGIN@3 at line 3 of Moose/Meta/Role/Application/ToClass.pm
# once (14µs+0s) by Locale::Maketext::BEGIN@1 at line 1 of (eval 0)[Locale/Maketext/Guts.pm:276] at line 276 of Locale/Maketext/Guts.pm
# once (14µs+0s) by Epoll::DB::Poll::Type::Binary::BEGIN@5 at line 5 of Epoll/DB/Poll/Type/Binary.pm
# once (14µs+0s) by Moose::Meta::TypeConstraint::Role::BEGIN@3 at line 3 of Moose/Meta/TypeConstraint/Role.pm
# once (14µs+0s) by Pod::Usage::BEGIN@11 at line 11 of Pod/Usage.pm
# once (14µs+0s) by MIME::Base64::BEGIN@3 at line 3 of MIME/Base64.pm
# once (14µs+0s) by Pod::Simple::LinkSection::BEGIN@6 at line 6 of Pod/Simple/LinkSection.pm
# once (14µs+0s) by Config::Any::Base::BEGIN@3 at line 3 of Config/Any/Base.pm
# once (14µs+0s) by Moose::Error::Default::BEGIN@3 at line 3 of Moose/Error/Default.pm
# once (14µs+0s) by Time::HiRes::BEGIN@3 at line 3 of Time/HiRes.pm
# once (14µs+0s) by Epoll::Controller::Vote::BEGIN@3 at line 3 of Epoll/Controller/Vote.pm
# once (14µs+0s) by I18N::LangTags::Detect::BEGIN@6 at line 6 of I18N/LangTags/Detect.pm
# once (14µs+0s) by Class::MOP::Module::BEGIN@4 at line 4 of Class/MOP/Module.pm
# once (14µs+0s) by Moose::Meta::TypeConstraint::Parameterized::BEGIN@3 at line 3 of Moose/Meta/TypeConstraint/Parameterized.pm
# once (14µs+0s) by B::Deparse::BEGIN@26 at line 26 of B/Deparse.pm
# once (14µs+0s) by IO::Socket::INET::BEGIN@9 at line 9 of IO/Socket/INET.pm
# once (14µs+0s) by FileHandle::BEGIN@4 at line 4 of FileHandle.pm
# once (14µs+0s) by IO::Compress::Adapter::Deflate::BEGIN@3 at line 3 of IO/Compress/Adapter/Deflate.pm
# once (14µs+0s) by Class::MOP::Method::Accessor::BEGIN@4 at line 4 of Class/MOP/Method/Accessor.pm
# once (14µs+0s) by Epoll::BEGIN@3 at line 3 of Epoll.pm
# once (14µs+0s) by IO::Compress::Base::Common::BEGIN@501 at line 501 of IO/Compress/Base/Common.pm
# once (14µs+0s) by CGI::Simple::Cookie::BEGIN@13 at line 13 of CGI/Simple/Cookie.pm
# once (14µs+0s) by Class::MOP::Class::Immutable::Trait::BEGIN@3 at line 3 of Class/MOP/Class/Immutable/Trait.pm
# once (14µs+0s) by Exporter::Heavy::BEGIN@3 at line 3 of Exporter/Heavy.pm
# once (14µs+0s) by Epoll::Controller::Admin::BEGIN@3 at line 3 of Epoll/Controller/Admin.pm
# once (13µs+0s) by Moose::Meta::Role::Application::ToRole::BEGIN@3 at line 3 of Moose/Meta/Role/Application/ToRole.pm
# once (13µs+0s) by HTML::Tagset::BEGIN@3 at line 3 of HTML/Tagset.pm
# once (13µs+0s) by B::BEGIN@30 at line 30 of B.pm
# once (13µs+0s) by Moose::Meta::Role::Application::RoleSummation::BEGIN@3 at line 3 of Moose/Meta/Role/Application/RoleSummation.pm
# once (13µs+0s) by Config::Any::INI::BEGIN@3 at line 3 of Config/Any/INI.pm
# once (13µs+0s) by Encode::Encoding::BEGIN@4 at line 4 of Encode/Encoding.pm
# once (13µs+0s) by DBD::_::dr::BEGIN@1432 at line 1432 of DBI.pm
# once (13µs+0s) by IO::Socket::UNIX::BEGIN@9 at line 9 of IO/Socket/UNIX.pm
# once (13µs+0s) by Epoll::Model::Vote::BEGIN@3 at line 3 of Epoll/Model/Vote.pm
# once (13µs+0s) by Digest::BEGIN@3 at line 3 of Digest.pm
# once (13µs+0s) by Moose::Meta::Method::Accessor::BEGIN@4 at line 4 of Moose/Meta/Method/Accessor.pm
# once (13µs+0s) by Moose::Meta::TypeConstraint::Parameterizable::BEGIN@3 at line 3 of Moose/Meta/TypeConstraint/Parameterizable.pm
# once (13µs+0s) by Class::MOP::Mixin::AttributeCore::BEGIN@3 at line 3 of Class/MOP/Mixin/AttributeCore.pm
# once (13µs+0s) by IO::Compress::Base::Common::BEGIN@3 at line 3 of IO/Compress/Base/Common.pm
# once (13µs+0s) by Carp::Clan::BEGIN@16 at line 16 of Carp/Clan.pm
# once (13µs+0s) by Object::Signature::BEGIN@4 at line 4 of Object/Signature.pm
# once (13µs+0s) by Class::Accessor::Fast::BEGIN@3 at line 3 of Class/Accessor/Fast.pm
# once (13µs+0s) by Moose::Meta::Role::Application::ToInstance::BEGIN@3 at line 3 of Moose/Meta/Role/Application/ToInstance.pm
# once (13µs+0s) by Template::Service::BEGIN@23 at line 23 of Template/Service.pm
# once (13µs+0s) by IO::Compress::Zlib::Extra::BEGIN@5 at line 5 of IO/Compress/Zlib/Extra.pm
# once (13µs+0s) by IO::Compress::Gzip::Constants::BEGIN@3 at line 3 of IO/Compress/Gzip/Constants.pm
# once (13µs+0s) by Sub::Identify::BEGIN@3 at line 3 of Sub/Identify.pm
# once (13µs+0s) by File::Spec::BEGIN@3 at line 3 of File/Spec.pm
# once (13µs+0s) by Template::Filters::BEGIN@22 at line 22 of Template/Filters.pm
# once (13µs+0s) by DBD::_::common::BEGIN@1330 at line 1330 of DBI.pm
# once (13µs+0s) by Moose::Exporter::BEGIN@3 at line 3 of Moose/Exporter.pm
# once (13µs+0s) by Devel::GlobalDestruction::BEGIN@5 at line 5 of Devel/GlobalDestruction.pm
# once (13µs+0s) by MooseX::Types::TypeDecorator::BEGIN@4 at line 4 of MooseX/Types/TypeDecorator.pm
# once (13µs+0s) by Config::Any::General::BEGIN@3 at line 3 of Config/Any/General.pm
# once (13µs+0s) by Moose::Meta::Attribute::BEGIN@4 at line 4 of Moose/Meta/Attribute.pm
# once (13µs+0s) by Pod::Parser::BEGIN@11 at line 11 of Pod/Parser.pm
# once (13µs+0s) by Digest::base::BEGIN@3 at line 3 of Digest/base.pm
# once (13µs+0s) by Moose::Meta::Method::Overridden::BEGIN@3 at line 3 of Moose/Meta/Method/Overridden.pm
# once (13µs+0s) by LaTeX::Driver::BEGIN@29 at line 29 of LaTeX/Driver.pm
# once (13µs+0s) by IO::BEGIN@7 at line 7 of IO.pm
# once (13µs+0s) by Scalar::Util::BEGIN@9 at line 9 of Scalar/Util.pm
# once (13µs+0s) by Term::Size::Any::BEGIN@4 at line 4 of Term/Size/Any.pm
# once (13µs+0s) by HTTP::Date::BEGIN@11 at line 11 of HTTP/Date.pm
# once (12µs+0s) by File::Compare::BEGIN@4 at line 4 of File/Compare.pm
# once (12µs+0s) by Class::MOP::BEGIN@4 at line 4 of Class/MOP.pm
# once (12µs+0s) by Errno::BEGIN@9 at line 9 of Errno.pm
# once (12µs+0s) by lib::BEGIN@8 at line 8 of lib.pm
# once (12µs+0s) by Pod::Text::BEGIN@28 at line 28 of Pod/Text.pm
# once (12µs+0s) by Class::MOP::Method::Wrapped::BEGIN@4 at line 4 of Class/MOP/Method/Wrapped.pm
# once (12µs+0s) by Class::MOP::Mixin::HasAttributes::BEGIN@3 at line 3 of Class/MOP/Mixin/HasAttributes.pm
# once (12µs+0s) by Moose::Util::MetaRole::BEGIN@3 at line 3 of Moose/Util/MetaRole.pm
# once (12µs+0s) by MooseX::MethodAttributes::Role::Meta::Role::BEGIN@1 at line 1 of MooseX/MethodAttributes/Role.pm
# once (12µs+0s) by Epoll::DB::Poll::BEGIN@5 at line 5 of Epoll/DB/Poll.pm
# once (12µs+0s) by namespace::clean::BEGIN@10 at line 10 of namespace/clean.pm
# once (12µs+0s) by DBD::Pg::dr::BEGIN@171 at line 171 of DBD/Pg.pm
# once (12µs+0s) by Config::Any::XML::BEGIN@3 at line 3 of Config/Any/XML.pm
# once (12µs+0s) by namespace::clean::BEGIN@1 at line 1 of B/Hooks/EndOfScope.pm
# once (12µs+0s) by HTTP::Headers::BEGIN@3 at line 3 of HTTP/Headers.pm
# once (12µs+0s) by Moose::Meta::Role::Attribute::BEGIN@3 at line 3 of Moose/Meta/Role/Attribute.pm
# once (12µs+0s) by IO::File::BEGIN@128 at line 128 of IO/File.pm
# once (12µs+0s) by IO::Socket::BEGIN@14 at line 14 of IO/Socket.pm
# once (12µs+0s) by Class::MOP::Mixin::HasMethods::BEGIN@3 at line 3 of Class/MOP/Mixin/HasMethods.pm
# once (12µs+0s) by Moose::Meta::Method::BEGIN@3 at line 3 of Moose/Meta/Method.pm
# once (12µs+0s) by Config::Any::YAML::BEGIN@3 at line 3 of Config/Any/YAML.pm
# once (12µs+0s) by Catalyst::Runtime::BEGIN@3 at line 3 of Catalyst/Runtime.pm
# once (12µs+0s) by Moose::Meta::Class::Immutable::Trait::BEGIN@3 at line 3 of Moose/Meta/Class/Immutable/Trait.pm
# once (12µs+0s) by Locale::Maketext::BEGIN@2 at line 2 of Locale/Maketext.pm
# once (12µs+0s) by base::BEGIN@5 at line 5 of Mail/Mailer/rfc822.pm
# once (12µs+0s) by Class::MOP::Package::BEGIN@4 at line 4 of Class/MOP/Package.pm
# once (12µs+0s) by Template::Config::BEGIN@21 at line 21 of Template/Config.pm
# once (12µs+0s) by Tie::EncryptedHash::BEGIN@13 at line 13 of Tie/EncryptedHash.pm
# once (12µs+0s) by IO::Uncompress::Base::BEGIN@4 at line 4 of IO/Uncompress/Base.pm
# once (12µs+0s) by metaclass::BEGIN@4 at line 4 of metaclass.pm
# once (12µs+0s) by NEXT::BEGIN@4 at line 4 of NEXT.pm
# once (12µs+0s) by Moose::Object::BEGIN@4 at line 4 of Moose/Object.pm
# once (12µs+0s) by Crypt::RSA::Key::Private::BEGIN@12 at line 12 of Crypt/RSA/Key/Private.pm
# once (12µs+0s) by Try::Tiny::BEGIN@3 at line 3 of Try/Tiny.pm
# once (12µs+0s) by File::Slurp::BEGIN@3 at line 3 of File/Slurp.pm
# once (12µs+0s) by Template::Directive::BEGIN@29 at line 29 of Template/Directive.pm
# once (12µs+0s) by Exception::Class::Base::BEGIN@3 at line 3 of Exception/Class/Base.pm
# once (12µs+0s) by Template::Document::BEGIN@24 at line 24 of Template/Document.pm
# once (12µs+0s) by Crypt::RSA::Key::Private::SSH::BEGIN@39 at line 39 of Crypt/RSA/Key/Private/SSH.pm
# once (12µs+0s) by Moose::Meta::TypeCoercion::Union::BEGIN@4 at line 4 of Moose/Meta/TypeCoercion/Union.pm
# once (12µs+0s) by Crypt::DES_EDE3::BEGIN@4 at line 4 of Crypt/DES_EDE3.pm
# once (12µs+0s) by Locale::Maketext::Lexicon::Auto::BEGIN@4 at line 4 of Locale/Maketext/Lexicon/Auto.pm
# once (12µs+0s) by HTML::Parser::BEGIN@9 at line 9 of HTML/Parser.pm
# once (12µs+0s) by Moose::Meta::Method::Augmented::BEGIN@3 at line 3 of Moose/Meta/Method/Augmented.pm
# once (12µs+0s) by Class::MOP::Mixin::BEGIN@3 at line 3 of Class/MOP/Mixin.pm
# once (12µs+0s) by Path::Class::Dir::BEGIN@5 at line 5 of Path/Class/Dir.pm
# once (12µs+0s) by Devel::StackTrace::BEGIN@5 at line 5 of Devel/StackTrace.pm
# once (12µs+0s) by Template::Timer::BEGIN@4 at line 4 of Template/Timer.pm
# once (12µs+0s) by Crypt::RSA::Errorhandler::BEGIN@13 at line 13 of Crypt/RSA/Errorhandler.pm
# once (12µs+0s) by Epoll::DB::Poll::Bdata::BEGIN@5 at line 5 of Epoll/DB/Poll/Bdata.pm
# once (12µs+0s) by Template::Stash::BEGIN@22 at line 22 of Template/Stash.pm
# once (12µs+0s) by Digest::MD5::BEGIN@3 at line 3 of Digest/MD5.pm
# once (12µs+0s) by Crypt::CBC::BEGIN@5 at line 5 of Crypt/CBC.pm
# once (12µs+0s) by IO::Handle::BEGIN@261 at line 261 of IO/Handle.pm
# once (12µs+0s) by mro::BEGIN@10 at line 10 of mro.pm
# once (12µs+0s) by Locale::Maketext::Simple::BEGIN@4 at line 4 of Locale/Maketext/Simple.pm
# once (12µs+0s) by Fcntl::BEGIN@58 at line 58 of Fcntl.pm
# once (12µs+0s) by Class::Accessor::BEGIN@3 at line 3 of Class/Accessor.pm
# once (12µs+0s) by Convert::ASCII::Armour::BEGIN@12 at line 12 of Convert/ASCII/Armour.pm
# once (12µs+0s) by constant::BEGIN@3 at line 3 of constant.pm
# once (12µs+0s) by Locale::Maketext::BEGIN@11 at line 11 of Locale/Maketext/Guts.pm
# once (12µs+0s) by Moose::Meta::Class::BEGIN@4 at line 4 of Moose/Meta/Class.pm
# once (12µs+0s) by Moose::Meta::TypeConstraint::Union::BEGIN@4 at line 4 of Moose/Meta/TypeConstraint/Union.pm
# once (12µs+0s) by CGI::Simple::Util::BEGIN@2 at line 2 of CGI/Simple/Util.pm
# once (12µs+0s) by Path::Class::Entity::BEGIN@5 at line 5 of Path/Class/Entity.pm
# once (12µs+0s) by Params::Util::BEGIN@59 at line 59 of Params/Util.pm
# once (12µs+0s) by Class::MOP::Method::Generated::BEGIN@4 at line 4 of Class/MOP/Method/Generated.pm
# once (12µs+0s) by Crypt::RSA::Key::BEGIN@12 at line 12 of Crypt/RSA/Key.pm
# once (12µs+0s) by POSIX::BEGIN@2 at line 2 of POSIX.pm
# once (12µs+0s) by Crypt::DES::BEGIN@25 at line 25 of Crypt/DES.pm
# once (12µs+0s) by MooseX::Types::Moose::BEGIN@11 at line 11 of MooseX/Types/Moose.pm
# once (12µs+0s) by HTML::Prototype::BEGIN@3 at line 3 of HTML/Prototype.pm
# once (12µs+0s) by Config::Any::Perl::BEGIN@3 at line 3 of Config/Any/Perl.pm
# once (12µs+0s) by HTTP::Request::BEGIN@7 at line 7 of HTTP/Request.pm
# once (12µs+0s) by Pod::Escapes::BEGIN@22 at line 22 of Pod/Escapes.pm
# once (12µs+0s) by DBD::_::db::BEGIN@1493 at line 1493 of DBI.pm
# once (12µs+0s) by HTML::Prototype::Controls::BEGIN@3 at line 3 of HTML/Prototype/Controls.pm
# once (12µs+0s) by Pod::Simple::BEGIN@4 at line 4 of Pod/Simple.pm
# once (12µs+0s) by Epoll::DB::common::BEGIN@5 at line 5 of Epoll/DB/common.pm
# once (12µs+0s) by Moose::Meta::Method::Constructor::BEGIN@4 at line 4 of Moose/Meta/Method/Constructor.pm
# once (12µs+0s) by Class::MOP::Object::BEGIN@4 at line 4 of Class/MOP/Object.pm
# once (12µs+0s) by IO::Compress::RawDeflate::BEGIN@5 at line 5 of IO/Compress/RawDeflate.pm
# once (12µs+0s) by File::Spec::Unix::BEGIN@3 at line 3 of File/Spec/Unix.pm
# once (12µs+0s) by YAML::Tag::BEGIN@3 at line 3 of YAML/Tag.pm
# once (12µs+0s) by Epoll::DB::Ballot::BEGIN@5 at line 5 of Epoll/DB/Ballot.pm
# once (12µs+0s) by YAML::XS::LibYAML::BEGIN@3 at line 3 of YAML/XS/LibYAML.pm
# once (12µs+0s) by Sub::Install::BEGIN@4 at line 4 of Sub/Install.pm
# once (12µs+0s) by Epoll::DB::ImportV::BEGIN@3 at line 3 of Epoll/DB/ImportV.pm
# once (12µs+0s) by Template::Exception::BEGIN@22 at line 22 of Template/Exception.pm
# once (12µs+0s) by version::BEGIN@5 at line 5 of version.pm
# once (12µs+0s) by HTML::Element::BEGIN@145 at line 145 of HTML/Element.pm
# once (12µs+0s) by HTTP::Message::BEGIN@3 at line 3 of HTTP/Message.pm
# once (12µs+0s) by Template::Base::BEGIN@22 at line 22 of Template/Base.pm
# once (12µs+0s) by Class::MOP::Method::Inlined::BEGIN@3 at line 3 of Class/MOP/Method/Inlined.pm
# once (12µs+0s) by Class::Struct::BEGIN@7 at line 7 of Class/Struct.pm
# once (12µs+0s) by Template::Context::BEGIN@23 at line 23 of Template/Context.pm
# once (12µs+0s) by DBI::BEGIN@271 at line 271 of DBI.pm
# once (12µs+0s) by IO::Compress::Base::BEGIN@6 at line 6 of IO/Compress/Base.pm
# once (12µs+0s) by Data::OptList::BEGIN@3 at line 3 of Data/OptList.pm
# once (12µs+0s) by HTML::Prototype::DragDrop::BEGIN@3 at line 3 of HTML/Prototype/DragDrop.pm
# once (11µs+0s) by MRO::Compat::BEGIN@2 at line 2 of MRO/Compat.pm
# once (11µs+0s) by HTML::Prototype::Helper::BEGIN@3 at line 3 of HTML/Prototype/Helper.pm
# once (11µs+0s) by Crypt::RSA::Key::Private::SSH::Buffer::BEGIN@12 at line 12 of Crypt/RSA/Key/Private/SSH.pm
# once (11µs+0s) by Config::Any::JSON::BEGIN@3 at line 3 of Config/Any/JSON.pm
# once (11µs+0s) by Pod::Simple::BEGIN@1415 at line 1415 of Pod/Simple.pm
# once (11µs+0s) by Data::Buffer::BEGIN@4 at line 4 of Data/Buffer.pm
# once (11µs+0s) by Class::MOP::Instance::BEGIN@4 at line 4 of Class/MOP/Instance.pm
# once (11µs+0s) by IO::Seekable::BEGIN@99 at line 99 of IO/Seekable.pm
# once (11µs+0s) by Template::Constants::BEGIN@22 at line 22 of Template/Constants.pm
# once (11µs+0s) by Template::Provider::BEGIN@41 at line 41 of Template/Provider.pm
# once (11µs+0s) by Epoll::DB::Choice::BEGIN@5 at line 5 of Epoll/DB/Choice.pm
# once (11µs+0s) by Epoll::View::Mail::BEGIN@5 at line 5 of Mail/Mailer.pm
# once (11µs+0s) by Config::Any::BEGIN@3 at line 3 of Config/Any.pm
# once (11µs+0s) by Crypt::RSA::BEGIN@15 at line 15 of Crypt/RSA.pm
# once (11µs+0s) by YAML::BEGIN@4 at line 4 of YAML.pm
# once (11µs+0s) by Path::Class::File::BEGIN@5 at line 5 of Path/Class/File.pm
# once (11µs+0s) by Catalyst::View::TT::BEGIN@3 at line 3 of Catalyst/View/TT.pm
# once (11µs+0s) by Config::BEGIN@5 at line 5 of Config_heavy.pl
# once (11µs+0s) by Getopt::Long::BEGIN@17 at line 17 of Getopt/Long.pm
# once (11µs+0s) by Devel::GlobalDestruction::BEGIN@2 at line 2 of Sub/Exporter.pm
# once (11µs+0s) by MIME::Type::BEGIN@10 at line 10 of MIME/Type.pm
# once (11µs+0s) by File::GlobMapper::BEGIN@3 at line 3 of File/GlobMapper.pm
# once (11µs+0s) by Variable::Magic::BEGIN@5 at line 5 of Variable/Magic.pm
# once (11µs+0s) by Sub::Name::BEGIN@44 at line 44 of Sub/Name.pm
# once (11µs+0s) by YAML::Base::BEGIN@3 at line 3 of YAML/Base.pm
# once (11µs+0s) by HTML::Prototype::Effects::BEGIN@3 at line 3 of HTML/Prototype/Effects.pm
# once (11µs+0s) by File::stat::BEGIN@4 at line 4 of File/stat.pm
# once (11µs+0s) by Pod::Simple::BlackBox::BEGIN@23 at line 23 of Pod/Simple/BlackBox.pm
# once (11µs+0s) by Config::YAML::BEGIN@6 at line 6 of Config/YAML.pm
# once (11µs+0s) by HTML::Prototype::Helper::Tag::BEGIN@3 at line 3 of HTML/Prototype/Helper/Tag.pm
# once (10µs+0s) by Module::Pluggable::Object::BEGIN@3 at line 3 of Module/Pluggable/Object.pm
# once (9µs+0s) by URI::_generic::BEGIN@6 at line 6 of URI/_generic.pm
# once (9µs+0s) by Epoll::Controller::Ajax::BEGIN@3 at line 3 of Epoll/Controller/Ajax.pm
# once (9µs+0s) by HTTP::Body::XFormsMultipart::BEGIN@3 at line 3 of HTTP/Body/XFormsMultipart.pm
# once (9µs+0s) by HTTP::Body::OctetStream::BEGIN@3 at line 3 of HTTP/Body/OctetStream.pm
# once (9µs+0s) by URI::Escape::BEGIN@2 at line 2 of URI/Escape.pm
# once (9µs+0s) by URI::_query::BEGIN@3 at line 3 of URI/_query.pm
# once (9µs+0s) by Tree::Simple::Visitor::FindByPath::BEGIN@4 at line 4 of Tree/Simple/Visitor/FindByPath.pm
# once (9µs+0s) by Sys::Hostname::BEGIN@3 at line 3 of Sys/Hostname.pm
# once (8µs+0s) by Text::SimpleTable::BEGIN@5 at line 5 of Text/SimpleTable.pm
# once (8µs+0s) by MooseX::Types::import at line 335 of MooseX/Types.pm
# once (8µs+0s) by Moose::Meta::Role::Method::BEGIN@4 at line 4 of Moose/Meta/Role/Method.pm
# once (8µs+0s) by Epoll::Controller::Root::BEGIN@3 at line 3 of Epoll/Controller/Root.pm
# once (8µs+0s) by URI::http::BEGIN@6 at line 6 of URI/http.pm
# once (8µs+0s) by Catalyst::Plugin::I18N::BEGIN@3 at line 3 of Catalyst/Plugin/I18N.pm
# once (8µs+0s) by attributes::BEGIN@9 at line 9 of attributes.pm
# once (8µs+0s) by File::Spec::Functions::BEGIN@4 at line 4 of File/Spec/Functions.pm
# once (8µs+0s) by File::Temp::BEGIN@142 at line 142 of File/Temp.pm
# once (8µs+0s) by File::Path::BEGIN@4 at line 4 of File/Path.pm
# once (7µs+0s) by Moose::Role::BEGIN@2 at line 2 of Moose/Role.pm
# once (7µs+0s) by Tree::Simple::Visitor::FindByUID::BEGIN@4 at line 4 of Tree/Simple/Visitor/FindByUID.pm
# once (7µs+0s) by Tree::Simple::BEGIN@6 at line 6 of Tree/Simple.pm
# once (7µs+0s) by File::Find::BEGIN@3 at line 3 of File/Find.pm
# once (7µs+0s) by MooseX::Types::UndefinedType::BEGIN@11 at line 11 of MooseX/Types/UndefinedType.pm
# once (7µs+0s) by Catalyst::DispatchType::Regex::BEGIN@5 at line 5 of Text/Balanced.pm
# once (7µs+0s) by HTTP::Body::UrlEncoded::BEGIN@3 at line 3 of HTTP/Body/UrlEncoded.pm
# once (7µs+0s) by HTTP::Body::MultiPart::BEGIN@3 at line 3 of HTTP/Body/MultiPart.pm
# once (6µs+0s) by MooseX::Types::Util::BEGIN@11 at line 11 of MooseX/Types/Util.pm
# once (6µs+0s) by HTTP::Body::XForms::BEGIN@3 at line 3 of HTTP/Body/XForms.pm
# once (6µs+0s) by Moose::Meta::Role::Method::Conflicting::BEGIN@4 at line 4 of Moose/Meta/Role/Method/Conflicting.pm
# once (6µs+0s) by File::Basename::BEGIN@50 at line 50 of File/Basename.pm
# once (6µs+0s) by Cwd::BEGIN@170 at line 170 of Cwd.pm
# once (6µs+0s) by File::Temp::Dir::BEGIN@2406 at line 2406 of File/Temp.pm
# once (6µs+0s) by URI::BEGIN@3 at line 3 of URI.pm
# once (6µs+0s) by URI::_server::BEGIN@5 at line 5 of URI/_server.pm
# once (6µs+0s) by aliased::BEGIN@8 at line 8 of aliased.pm
# once (6µs+0s) by SelfLoader::BEGIN@3 at line 3 of SelfLoader.pm
# once (6µs+0s) by I18N::LangTags::BEGIN@7 at line 7 of I18N/LangTags.pm
# once (6µs+0s) by Tree::Simple::Visitor::BEGIN@4 at line 4 of Tree/Simple/Visitor.pm
# once (6µs+0s) by MooseX::Types::CheckedUtilExports::BEGIN@11 at line 11 of MooseX/Types/CheckedUtilExports.pm
# once (5µs+0s) by URI::QueryParam::BEGIN@3 at line 3 of URI/QueryParam.pm
# once (5µs+0s) by Moose::Meta::Role::Method::Required::BEGIN@4 at line 4 of Moose/Meta/Role/Method/Required.pm
# once (5µs+0s) by SelfLoader::BEGIN@92 at line 92 of SelfLoader.pm | ||||
| 35 | 414 | 1.21ms | shift; | ||
| 36 | 414 | 9.16ms | 3 | 87µs | $^H |= @_ ? bits(@_) : $default_bits; # spent 87µs making 3 calls to strict::bits, avg 29µs/call |
| 37 | } | ||||
| 38 | |||||
| 39 | # spent 6.36ms (2.97+3.39) within strict::unimport which was called 115 times, avg 55µs/call:
# once (184µs+134µs) by AutoLoader::BEGIN@30 at line 30 of AutoLoader.pm
# once (22µs+170µs) by Class::Struct::BEGIN@108 at line 108 of Class/Struct.pm
# once (27µs+140µs) by version::BEGIN@15 at line 15 of version.pm
# once (13µs+129µs) by MooseX::Types::CheckedUtilExports::BEGIN@50 at line 50 of MooseX/Types/CheckedUtilExports.pm
# once (28µs+87µs) by constant::BEGIN@38 at line 38 of constant.pm
# once (26µs+86µs) by B::Deparse::BEGIN@473 at line 473 of B/Deparse.pm
# once (83µs+24µs) by Locale::Maketext::Simple::BEGIN@118 at line 118 of Locale/Maketext/Simple.pm
# once (26µs+81µs) by EVERY::BEGIN@137 at line 137 of NEXT.pm
# once (78µs+27µs) by Locale::Maketext::Lexicon::BEGIN@449 at line 449 of Locale/Maketext/Lexicon.pm
# once (79µs+24µs) by Catalyst::Plugin::I18N::BEGIN@121 at line 121 of Catalyst/Plugin/I18N.pm
# once (74µs+23µs) by namespace::clean::BEGIN@340 at line 340 of namespace/clean.pm
# once (23µs+73µs) by Class::Accessor::BEGIN@27 at line 27 of Class/Accessor.pm
# once (24µs+63µs) by FileHandle::BEGIN@46 at line 46 of FileHandle.pm
# once (23µs+59µs) by Devel::StackTraceFrame::BEGIN@252 at line 252 of Devel/StackTrace.pm
# once (32µs+30µs) by Carp::Clan::BEGIN@224 at line 224 of Carp/Clan.pm
# once (33µs+29µs) by Pod::Simple::BEGIN@1411 at line 1411 of Pod/Simple.pm
# once (34µs+28µs) by Cwd::BEGIN@811 at line 811 of Cwd.pm
# once (32µs+27µs) by B::Deparse::BEGIN@3337 at line 3337 of B/Deparse.pm
# once (32µs+25µs) by Class::MOP::Package::BEGIN@207 at line 207 of Class/MOP/Package.pm
# once (29µs+28µs) by Locale::Maketext::Lexicon::BEGIN@313 at line 313 of Locale/Maketext/Lexicon.pm
# once (29µs+27µs) by IO::Handle::BEGIN@613 at line 613 of IO/Handle.pm
# once (29µs+27µs) by AutoLoader::BEGIN@138 at line 138 of AutoLoader.pm
# once (29µs+26µs) by Carp::BEGIN@300 at line 300 of Carp/Heavy.pm
# once (29µs+26µs) by DBI::BEGIN@679 at line 679 of DBI.pm
# once (25µs+30µs) by Moose::Util::TypeConstraints::BEGIN@65 at line 65 of Moose/Util/TypeConstraints.pm
# once (26µs+28µs) by Class::Struct::BEGIN@99 at line 99 of Class/Struct.pm
# once (27µs+27µs) by B::BEGIN@237 at line 237 of B.pm
# once (27µs+27µs) by Data::Visitor::Callback::BEGIN@47 at line 47 of Data/Visitor/Callback.pm
# once (27µs+27µs) by DBI::BEGIN@522 at line 522 of DBI.pm
# once (27µs+26µs) by DBI::BEGIN@791 at line 791 of DBI.pm
# once (27µs+27µs) by Net::Cmd::BEGIN@81 at line 81 of Net/Cmd.pm
# once (24µs+29µs) by NEXT::BEGIN@25 at line 25 of NEXT.pm
# once (27µs+26µs) by Errno::BEGIN@193 at line 193 of Errno.pm
# once (26µs+27µs) by Template::Base::BEGIN@44 at line 44 of Template/Base.pm
# once (26µs+27µs) by Config::YAML::BEGIN@135 at line 135 of Config/YAML.pm
# once (26µs+27µs) by YAML::Base::BEGIN@75 at line 75 of YAML/Base.pm
# once (26µs+27µs) by Catalyst::ClassData::BEGIN@27 at line 27 of Catalyst/ClassData.pm
# once (25µs+27µs) by utf8::BEGIN@76 at line 76 of utf8_heavy.pl
# once (26µs+26µs) by namespace::clean::BEGIN@170 at line 170 of namespace/clean.pm
# once (26µs+26µs) by Digest::BEGIN@36 at line 36 of Digest.pm
# once (26µs+25µs) by Moose::Exporter::BEGIN@385 at line 385 of Moose/Exporter.pm
# once (25µs+27µs) by Moose::Exporter::BEGIN@206 at line 206 of Moose/Exporter.pm
# once (25µs+27µs) by NEXT::BEGIN@13 at line 13 of NEXT.pm
# once (25µs+26µs) by Time::HiRes::BEGIN@42 at line 42 of Time/HiRes.pm
# once (25µs+26µs) by Locale::Maketext::BEGIN@402 at line 402 of Locale/Maketext.pm
# once (24µs+27µs) by namespace::clean::BEGIN@320 at line 320 of namespace/clean.pm
# once (23µs+28µs) by DBI::BEGIN@854 at line 854 of DBI.pm
# once (24µs+26µs) by Class::MOP::Class::Immutable::Trait::BEGIN@36 at line 36 of Class/MOP/Class/Immutable/Trait.pm
# once (26µs+25µs) by Moose::Exporter::BEGIN@488 at line 488 of Moose/Exporter.pm
# once (23µs+28µs) by Class::MOP::Module::BEGIN@64 at line 64 of Class/MOP/Module.pm
# once (24µs+27µs) by Moose::Object::BEGIN@80 at line 80 of Moose/Object.pm
# once (26µs+25µs) by Fcntl::BEGIN@239 at line 239 of Fcntl.pm
# once (24µs+26µs) by I18N::LangTags::Detect::BEGIN@138 at line 138 of I18N/LangTags/Detect.pm
# once (24µs+26µs) by Sub::Install::BEGIN@184 at line 184 of Sub/Install.pm
# once (24µs+26µs) by Compress::Raw::Zlib::BEGIN@78 at line 78 of Compress/Raw/Zlib.pm
# once (24µs+26µs) by Compress::Zlib::BEGIN@49 at line 49 of Compress/Zlib.pm
# once (25µs+24µs) by NEXT::BEGIN@63 at line 63 of NEXT.pm
# once (25µs+24µs) by Devel::InnerPackage::BEGIN@86 at line 86 of Devel/InnerPackage.pm
# once (25µs+24µs) by Class::Struct::BEGIN@188 at line 188 of Class/Struct.pm
# once (24µs+25µs) by MRO::Compat::BEGIN@116 at line 116 of MRO/Compat.pm
# once (24µs+25µs) by DBI::BEGIN@1017 at line 1017 of DBI.pm
# once (23µs+26µs) by Class::MOP::Package::BEGIN@100 at line 100 of Class/MOP/Package.pm
# once (23µs+25µs) by Config::BEGIN@35 at line 35 of Config.pm
# once (24µs+24µs) by NEXT::BEGIN@93 at line 93 of NEXT.pm
# once (24µs+24µs) by B::Deparse::BEGIN@676 at line 676 of B/Deparse.pm
# once (24µs+24µs) by Exception::Class::BEGIN@167 at line 167 of Exception/Class.pm
# once (22µs+26µs) by EVERY::BEGIN@116 at line 116 of NEXT.pm
# once (23µs+25µs) by Exception::Class::Base::BEGIN@41 at line 41 of Exception/Class/Base.pm
# once (24µs+24µs) by File::Spec::Unix::BEGIN@149 at line 149 of File/Spec/Unix.pm
# once (23µs+25µs) by MRO::Compat::BEGIN@225 at line 225 of MRO/Compat.pm
# once (23µs+24µs) by File::stat::BEGIN@54 at line 54 of File/stat.pm
# once (23µs+24µs) by Catalyst::Plugin::I18N::BEGIN@175 at line 175 of Catalyst/Plugin/I18N.pm
# once (22µs+24µs) by Devel::InnerPackage::BEGIN@66 at line 66 of Devel/InnerPackage.pm
# once (23µs+24µs) by Exception::Class::BEGIN@45 at line 45 of Exception/Class.pm
# once (22µs+24µs) by Template::Base::BEGIN@137 at line 137 of Template/Base.pm
# once (22µs+24µs) by utf8::BEGIN@155 at line 155 of utf8_heavy.pl
# once (23µs+23µs) by Template::Base::BEGIN@85 at line 85 of Template/Base.pm
# once (22µs+24µs) by Exception::Class::BEGIN@78 at line 78 of Exception/Class.pm
# once (22µs+24µs) by Data::Visitor::Callback::BEGIN@194 at line 194 of Data/Visitor/Callback.pm
# once (22µs+24µs) by DBI::BEGIN@951 at line 951 of DBI.pm
# once (22µs+24µs) by DBI::BEGIN@825 at line 825 of DBI.pm
# once (23µs+23µs) by NEXT::BEGIN@37 at line 37 of NEXT.pm
# once (22µs+23µs) by Locale::Maketext::Lexicon::BEGIN@390 at line 390 of Locale/Maketext/Lexicon.pm
# once (22µs+23µs) by constant::BEGIN@101 at line 101 of constant.pm
# once (22µs+24µs) by Class::MOP::Class::BEGIN@257 at line 257 of Class/MOP/Class.pm
# once (22µs+24µs) by AutoLoader::BEGIN@186 at line 186 of AutoLoader.pm
# once (22µs+24µs) by NEXT::BEGIN@101 at line 101 of NEXT.pm
# once (21µs+24µs) by Locale::Maketext::BEGIN@427 at line 427 of Locale/Maketext.pm
# once (22µs+23µs) by Class::MOP::Package::BEGIN@145 at line 145 of Class/MOP/Package.pm
# once (21µs+23µs) by MRO::Compat::BEGIN@256 at line 256 of MRO/Compat.pm
# once (21µs+23µs) by Exception::Class::Base::BEGIN@61 at line 61 of Exception/Class/Base.pm
# once (21µs+23µs) by Exception::Class::BEGIN@175 at line 175 of Exception/Class.pm
# once (21µs+23µs) by Class::MOP::Package::BEGIN@152 at line 152 of Class/MOP/Package.pm
# once (20µs+24µs) by Exporter::Heavy::BEGIN@4 at line 4 of Exporter/Heavy.pm
# once (21µs+23µs) by Moose::Exporter::BEGIN@498 at line 498 of Moose/Exporter.pm
# once (19µs+20µs) by MooseX::Types::BEGIN@339 at line 339 of MooseX/Types.pm
# once (20µs+17µs) by Catalyst::BEGIN@2793 at line 2793 of Catalyst.pm
# once (19µs+15µs) by HTTP::Message::BEGIN@621 at line 621 of HTTP/Message.pm
# once (15µs+17µs) by Moose::Meta::Role::BEGIN@559 at line 559 of Moose/Meta/Role.pm
# once (16µs+15µs) by URI::BEGIN@127 at line 127 of URI.pm
# once (15µs+15µs) by MooseX::Types::Base::BEGIN@187 at line 187 of MooseX/Types/Base.pm
# once (15µs+15µs) by File::Path::BEGIN@295 at line 295 of File/Path.pm
# once (12µs+14µs) by aliased::BEGIN@35 at line 35 of aliased.pm
# once (12µs+13µs) by File::Temp::BEGIN@241 at line 241 of File/Temp.pm
# once (12µs+13µs) by File::Spec::Functions::BEGIN@42 at line 42 of File/Spec/Functions.pm
# once (12µs+13µs) by SelfLoader::BEGIN@90 at line 90 of SelfLoader.pm
# once (10µs+11µs) by File::Temp::BEGIN@271 at line 271 of File/Temp.pm
# once (10µs+11µs) by MooseX::Types::Base::BEGIN@202 at line 202 of MooseX/Types/Base.pm
# once (10µs+11µs) by MooseX::Types::Base::BEGIN@244 at line 244 of MooseX/Types/Base.pm
# once (16µs+0s) by Mail::Util::BEGIN@133 at line 133 of Mail/Util.pm
# once (15µs+0s) by DBI::BEGIN@267 at line 267 of DBI.pm
# once (14µs+0s) by POSIX::BEGIN@39 at line 39 of POSIX.pm
# once (13µs+0s) by Template::Timer::BEGIN@68 at line 68 of Template/Timer.pm
# once (7µs+0s) by SelfLoader::BEGIN@72 at line 72 of SelfLoader.pm
# once (5µs+0s) by SelfLoader::BEGIN@156 at line 156 of SelfLoader.pm | ||||
| 40 | 115 | 219µs | shift; | ||
| 41 | 115 | 3.21ms | 109 | 3.39ms | $^H &= ~ (@_ ? bits(@_) : $default_bits); # spent 3.39ms making 109 calls to strict::bits, avg 31µs/call |
| 42 | } | ||||
| 43 | |||||
| 44 | 1 | 32µs | 1; | ||
| 45 | __END__ | ||||
| 46 | |||||
| 47 | =head1 NAME | ||||
| 48 | |||||
| 49 | strict - Perl pragma to restrict unsafe constructs | ||||
| 50 | |||||
| 51 | =head1 SYNOPSIS | ||||
| 52 | |||||
| 53 | use strict; | ||||
| 54 | |||||
| 55 | use strict "vars"; | ||||
| 56 | use strict "refs"; | ||||
| 57 | use strict "subs"; | ||||
| 58 | |||||
| 59 | use strict; | ||||
| 60 | no strict "vars"; | ||||
| 61 | |||||
| 62 | =head1 DESCRIPTION | ||||
| 63 | |||||
| 64 | If no import list is supplied, all possible restrictions are assumed. | ||||
| 65 | (This is the safest mode to operate in, but is sometimes too strict for | ||||
| 66 | casual programming.) Currently, there are three possible things to be | ||||
| 67 | strict about: "subs", "vars", and "refs". | ||||
| 68 | |||||
| 69 | =over 6 | ||||
| 70 | |||||
| 71 | =item C<strict refs> | ||||
| 72 | |||||
| 73 | This generates a runtime error if you | ||||
| 74 | use symbolic references (see L<perlref>). | ||||
| 75 | |||||
| 76 | use strict 'refs'; | ||||
| 77 | $ref = \$foo; | ||||
| 78 | print $$ref; # ok | ||||
| 79 | $ref = "foo"; | ||||
| 80 | print $$ref; # runtime error; normally ok | ||||
| 81 | $file = "STDOUT"; | ||||
| 82 | print $file "Hi!"; # error; note: no comma after $file | ||||
| 83 | |||||
| 84 | There is one exception to this rule: | ||||
| 85 | |||||
| 86 | $bar = \&{'foo'}; | ||||
| 87 | &$bar; | ||||
| 88 | |||||
| 89 | is allowed so that C<goto &$AUTOLOAD> would not break under stricture. | ||||
| 90 | |||||
| 91 | |||||
| 92 | =item C<strict vars> | ||||
| 93 | |||||
| 94 | This generates a compile-time error if you access a variable that wasn't | ||||
| 95 | declared via C<our> or C<use vars>, | ||||
| 96 | localized via C<my()>, or wasn't fully qualified. Because this is to avoid | ||||
| 97 | variable suicide problems and subtle dynamic scoping issues, a merely | ||||
| 98 | local() variable isn't good enough. See L<perlfunc/my> and | ||||
| 99 | L<perlfunc/local>. | ||||
| 100 | |||||
| 101 | use strict 'vars'; | ||||
| 102 | $X::foo = 1; # ok, fully qualified | ||||
| 103 | my $foo = 10; # ok, my() var | ||||
| 104 | local $foo = 9; # blows up | ||||
| 105 | |||||
| 106 | package Cinna; | ||||
| 107 | our $bar; # Declares $bar in current package | ||||
| 108 | $bar = 'HgS'; # ok, global declared via pragma | ||||
| 109 | |||||
| 110 | The local() generated a compile-time error because you just touched a global | ||||
| 111 | name without fully qualifying it. | ||||
| 112 | |||||
| 113 | Because of their special use by sort(), the variables $a and $b are | ||||
| 114 | exempted from this check. | ||||
| 115 | |||||
| 116 | =item C<strict subs> | ||||
| 117 | |||||
| 118 | This disables the poetry optimization, generating a compile-time error if | ||||
| 119 | you try to use a bareword identifier that's not a subroutine, unless it | ||||
| 120 | is a simple identifier (no colons) and that it appears in curly braces or | ||||
| 121 | on the left hand side of the C<< => >> symbol. | ||||
| 122 | |||||
| 123 | use strict 'subs'; | ||||
| 124 | $SIG{PIPE} = Plumber; # blows up | ||||
| 125 | $SIG{PIPE} = "Plumber"; # just fine: quoted string is always ok | ||||
| 126 | $SIG{PIPE} = \&Plumber; # preferred form | ||||
| 127 | |||||
| 128 | =back | ||||
| 129 | |||||
| 130 | See L<perlmodlib/Pragmatic Modules>. | ||||
| 131 | |||||
| 132 | =head1 HISTORY | ||||
| 133 | |||||
| 134 | C<strict 'subs'>, with Perl 5.6.1, erroneously permitted to use an unquoted | ||||
| 135 | compound identifier (e.g. C<Foo::Bar>) as a hash key (before C<< => >> or | ||||
| 136 | inside curlies), but without forcing it always to a literal string. | ||||
| 137 | |||||
| 138 | Starting with Perl 5.8.1 strict is strict about its restrictions: | ||||
| 139 | if unknown restrictions are used, the strict pragma will abort with | ||||
| 140 | |||||
| 141 | Unknown 'strict' tag(s) '...' | ||||
| 142 | |||||
| 143 | As of version 1.04 (Perl 5.10), strict verifies that it is used as | ||||
| 144 | "strict" to avoid the dreaded Strict trap on case insensitive file | ||||
| 145 | systems. | ||||
| 146 | |||||
| 147 | =cut | ||||
# spent 19µs within strict::CORE:match which was called
# once (19µs+0s) by Moose::BEGIN@2 at line 6 of strict.pm | |||||
# spent 116µs within strict::CORE:regcomp which was called
# once (116µs+0s) by Moose::BEGIN@2 at line 6 of strict.pm |