Leser: 2
|< 1 2 >| | 20 Einträge, 2 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
sub GetPceVersion{ my $release = shift; die "no release name given SourceControl::GetPceVersion" unless $release; die "unknown release name given SourceControl::GetPceVersion" unless defined $releases{$release}; my $basepath = $releases{$release}{'path'}; $basepath .= "/" if substr($basepath,-1) ne "/"; my $content = " push \@INC, '$basepath'.\$_ for("; $content .= "'$_'," for (@inc_pathes); chop $content; $content .= ");\n require pce; \n \$pce::VERSION;"; my $temp_script_name = 'GetVersion'. (int rand 1000) .'.pl'; open F, ">$temp_script_name"; print F $content; close F; my @tmpINC = @INC; my %tmpINC = %INC; $releases{$release}{'version'} = do $temp_script_name; %INC = %tmpINC; @INC = @tmpINC; unlink $temp_script_name; return $releases{$release}{'version'}; }
1
2
3
4
5
6
7
8
9
10
sub test {
warn "Alter Test!";
}
test();
eval q{
sub test {
warn "Neuer Test!";
}
};
test();
$mw->Button(-command => \&machwas)->pack;
$mw->Button(-command => sub { machwas() })->pack;
1
2
3
If a missing method is found in a base class, it is cached in the cur-
rent class for efficiency. Changing @ISA or defining new subroutines
invalidates the cache and causes Perl to do the lookup again.
|< 1 2 >| | 20 Einträge, 2 Seiten |