$ cat switch.pl
#!/usr/local/bin/perl
use Switch;
my $letter = "c";
switch($letter) {
case "a" {print "1"}
case "b" {print "2"}
case "c" {print "3"}
}
####
______Source_Code_Files_—_ordered_by_exclusive_time_then_name_______
|Stmts|Exclusive|Reports |Source File |
|_____|Time_____|__________________|_______________________________________|
|3508_|324ms____|line • block |Text/Balanced.pm_______________________|
|542__|147ms____|line • block |Switch.pm______________________________|
|77___|32.1ms___|line • block |Exporter/Heavy.pm______________________|
|52___|31.7ms___|line • block |Config_heavy.pl________________________|
|132__|30.9ms___|line • block |warnings/register.pm___________________|
|73___|22.2ms___|line • block |DynaLoader.pm__________________________|
|39___|29.2ms___|line • block |SelfLoader.pm_(including_1_string_eval)|
|27___|15.5ms___|line • block |AutoLoader.pm__________________________|
|184__|13.3ms___|line • block |overload.pm____________________________|
|83___|12.9ms___|line • block |vars.pm________________________________|
|170__|12.2ms___|line • block |Exporter.pm____________________________|
|40___|10.4ms___|line • block |Config.pm______________________________|
|12___|9.38ms___|line • block |Carp.pm________________________________|
|25___|7.80ms___|line • block |Filter/Util/Call.pm____________________|
|15___|7.77ms___|line • block |switch.pl______________________________|
|25___|6.78ms___|line • block |version.pm_____________________________|
|123__|4.36ms___|line • block |strict.pm______________________________|
|34___|2.22ms___|line • block |warnings.pm____________________________|
|26___|619µs___|line • block |feature.pm_____________________________|
|1____|8µs_____|line • block |Config_git.pl__________________________|
|5188_|720ms____|Total_(-4_statements_are_unaccounted_for)_________________|
|259__|36.0ms___|Average___________________________________________________|
|_____|12.9ms___|Median____________________________________________________|
|_____|0.00852__|Deviation_________________________________________________|
Report produced by the NYTProf_4.04 Perl profiler, developed by Tim_Bunce and
Adam_Kaplan.
####
$ cat if-then-else.pl
#!/usr/local/bin/perl
my $letter = "c";
if ($letter eq "a") {print "1";
}elsif ($letter eq "b") {print "2";
}elsif ($letter eq "c") {print "3";
}
####
____________________then_name_____________________
|Stmts|Exclusive|Reports |Source File |
|_____|Time_____|__________________|_______________|
|3____|13.0ms___|line • block |if-then-else.pl|
####
#!/usr/local/bin/perl
my $letter = "c";
my %h = (
"a" => sub{print "1"},
"b" => sub{print "2"},
"c" => sub{print "3"},
);
$h{$letter}->();
####
Source Code Files — ordered by exclusive time
_____________________then_name_____________________
|Stmts|Exclusive|Reports |Source File |
|_____|Time_____|__________________|________________|
|5____|4.10ms___|line • block |dispatch-hash.pl|