|< 1 2 >| | 11 Einträge, 2 Seiten |
ptk+2007-10-03 10:03:51--eval { } ist doch oft eine gute Lösung.
1 2 3 4 5
# try "path" option list.. foreach my $path (@{$options->{path}}) { $filepath = File::Spec->catfile($path, $filename); return File::Spec->canonpath($filepath) if -e $filepath; }
kristian+2007-10-03 12:41:33--Hallo
Mir stellt sich die Frage, warum du keine Lust hast das Template auf Existenz zu prüfen.
Wenn du es nicht machst wird in HTML::Template gemacht.
Da sieht es dann so aus:Code (perl): (dl )1 2 3 4 5# try "path" option list.. foreach my $path (@{$options->{path}}) { $filepath = File::Spec->catfile($path, $filename); return File::Spec->canonpath($filepath) if -e $filepath; }
Du sparst also nichts. (CPU etc.)
Gruss
Kristian
pktm+2007-10-03 22:38:51--Hm, so wie es ausschaut wird es wohl doch auf das überschreiben der Methode hinaus laufen.
Die Tatsache, dass HTML::Template ohnehin prüft ist übrigens einer der Gründe, warum ich es nicht machen will - es wird schließlich bereits gemacht, nur dass gestorben wird, wenn es nicht da ist, anstatt einen RÜckgabewert auszuspucken.
1 2 3 4
sub croak { die shortmess @_ } sub confess { die longmess @_ } sub carp { warn shortmess @_ } sub cluck { warn longmess @_ }
1 2 3 4 5 6 7 8 9
sub Carp::confess{ warn Carp::shortmess(@_); } [...] $template = new HTML::Template(filename => $file . 'x', # gibt's nicht die_on_bad_params => 0); unless(defined $template->{'options'}->{'filepath'}){ # error }
no warnings 'redefine'
|< 1 2 >| | 11 Einträge, 2 Seiten |