← Index
NYTProf Performance Profile   « block view • line view • sub view »
For /usr/bin/epoll_server.pl
  Run on Wed Jan 5 05:34:33 2011
Reported on Wed Jan 5 05:38:48 2011

File /usr/lib/perl5/5.10.1/strict.pm
Statements Executed 1862
Statement Execution Time 18.2ms
Subroutines — ordered by exclusive time
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
4143413266.43ms6.51msstrict::::importstrict::import
113313.54ms3.54msstrict::::bitsstrict::bits
115115662.97ms6.36msstrict::::unimportstrict::unimport
112116µs116µsstrict::::CORE:regcompstrict::CORE:regcomp (opcode)
11219µs19µsstrict::::CORE:matchstrict::CORE:match (opcode)
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package strict;
2
313µs$strict::VERSION = "1.04";
4
5# Verify that we're called correctly so that strictures will work.
61257µs2136µsunless ( __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
1217µsmy %bitmask = (
13refs => 0x00000002,
14subs => 0x00000200,
15vars => 0x00000400
16);
17
18
# spent 3.54ms within strict::bits which was called 113 times, avg 31µs/call: # 109 times (3.39ms+0s) by strict::unimport at line 41, avg 31µs/call # 3 times (87µs+0s) by strict::import at line 36, avg 29µs/call # once (69µs+0s) by Moose::BEGIN@2 at line 32
sub bits {
195652.81ms my $bits = 0;
20 my @wrong;
21 foreach my $s (@_) {
222341.29ms push @wrong, $s unless exists $bitmask{$s};
23 $bits |= $bitmask{$s} || 0;
24 }
25 if (@wrong) {
26 require Carp;
27 Carp::croak("Unknown 'strict' tag(s) '@wrong'");
28 }
29 $bits;
30}
31
3219µs169µsmy $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
sub import {
3582810.4ms shift;
36 $^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
sub unimport {
402303.43ms shift;
41 $^H &= ~ (@_ ? bits(@_) : $default_bits);
# spent 3.39ms making 109 calls to strict::bits, avg 31µs/call
42}
43
44132µs1;
45__END__
46
47=head1 NAME
48
49strict - 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
64If 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
66casual programming.) Currently, there are three possible things to be
67strict about: "subs", "vars", and "refs".
68
69=over 6
70
71=item C<strict refs>
72
73This generates a runtime error if you
74use 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
84There is one exception to this rule:
85
86 $bar = \&{'foo'};
87 &$bar;
88
89is allowed so that C<goto &$AUTOLOAD> would not break under stricture.
90
91
92=item C<strict vars>
93
94This generates a compile-time error if you access a variable that wasn't
95declared via C<our> or C<use vars>,
96localized via C<my()>, or wasn't fully qualified. Because this is to avoid
97variable suicide problems and subtle dynamic scoping issues, a merely
98local() variable isn't good enough. See L<perlfunc/my> and
99L<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
110The local() generated a compile-time error because you just touched a global
111name without fully qualifying it.
112
113Because of their special use by sort(), the variables $a and $b are
114exempted from this check.
115
116=item C<strict subs>
117
118This disables the poetry optimization, generating a compile-time error if
119you try to use a bareword identifier that's not a subroutine, unless it
120is a simple identifier (no colons) and that it appears in curly braces or
121on 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
130See L<perlmodlib/Pragmatic Modules>.
131
132=head1 HISTORY
133
134C<strict 'subs'>, with Perl 5.6.1, erroneously permitted to use an unquoted
135compound identifier (e.g. C<Foo::Bar>) as a hash key (before C<< => >> or
136inside curlies), but without forcing it always to a literal string.
137
138Starting with Perl 5.8.1 strict is strict about its restrictions:
139if unknown restrictions are used, the strict pragma will abort with
140
141 Unknown 'strict' tag(s) '...'
142
143As 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
145systems.
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
sub strict::CORE:match; # xsub
# spent 116µs within strict::CORE:regcomp which was called # once (116µs+0s) by Moose::BEGIN@2 at line 6 of strict.pm
sub strict::CORE:regcomp; # xsub