version 1.486, 2006/10/16 10:32:46
|
version 1.488, 2006/10/20 17:37:20
|
Line 62 my $resources_printed;
|
Line 62 my $resources_printed;
|
sub printf_style_subst { |
sub printf_style_subst { |
my ($item, $format_string, $repl) = @_; |
my ($item, $format_string, $repl) = @_; |
|
|
while ($format_string =~ /%\d*$item/) { |
while ($format_string =~m/\G[^%]*(%(\d*)\Q$item\E)/g) { |
my $start = $-[0]; |
my $fmt = $1; |
my $end = $+[0]; |
my $size = $2; |
my $len = $end - $start; |
|
|
|
# see if we need to truncate: |
|
|
|
my $subst = $repl; |
my $subst = $repl; |
my $fmt = substr($format_string, $start, $len); |
|
my $size = $fmt; |
|
$size =~ s/%(\d*)$item/$1/; |
|
if ($size ne "") { |
if ($size ne "") { |
$subst = substr($subst, 0, $size); |
$subst = substr($subst, 0, $size); |
} |
} |
$format_string =~ s/%(\d*)$item/$subst/; |
my $newpos = pos($format_string) + length($subst) - length($fmt); |
|
$format_string =~ s/\Q$fmt\E\G/$subst/; |
|
pos($format_string)=$newpos; |
} |
} |
|
|
return $format_string; |
return $format_string; |
} |
} |
|
|