comparison Lib/IMPL/Resources/Format.pm @ 368:010ceafd0c5a

form metadata + tests
author cin
date Wed, 04 Dec 2013 17:31:53 +0400
parents 4d0e1962161c
children 2f16f13b000c
comparison
equal deleted inserted replaced
367:608e74bc309f 368:010ceafd0c5a
9 sub FormatMessage { 9 sub FormatMessage {
10 my ($string,$args,$resolver) = @_; 10 my ($string,$args,$resolver) = @_;
11 11
12 $args ||= {}; 12 $args ||= {};
13 $resolver ||= \&_defaultResolver; 13 $resolver ||= \&_defaultResolver;
14 $string ||= '';
14 15
15 $string =~ s/%(\w+(?:\.\w+)*)%/_getvalue($args,$1,"\[$1\]",$resolver)/ge; 16 $string =~ s/%(\w+(?:\.\w+)*)%/_getvalue($args,$1,"\[$1\]",$resolver)/ge;
16 17
17 return $string; 18 return $string;
18 } 19 }
26 $obj = $obj->{$chunk}; 27 $obj = $obj->{$chunk};
27 } else { 28 } else {
28 $obj = $resolver->($obj,$chunk); 29 $obj = $resolver->($obj,$chunk);
29 } 30 }
30 } 31 }
31 return $obj; 32 return $obj||'<undef>';
32 } 33 }
33 34
34 sub _defaultResolver { 35 sub _defaultResolver {
35 my ($obj,$prop) = @_; 36 my ($obj,$prop) = @_;
36 37