svvord
Sep 04, 2010 19:33
use List::Util qw(sum);
...
my %times = ("d" => 86400, "h" => 3600, "m" => 60, "s" => 1);
print(
sum(map{s/(\d)(.)/($1 * $times{$2})/e; $_;} split(/(?<=[a-zA-Z])\B/, "2d4h35m7s"))
);
Оформляется конечно в виде функции, но я это отбросил, оставив только суть.
perl,
заметки