bakup script

:do {
:local date [/system clock get date]
:local d [:pick $date 4 6]
:local m [:pick $date 0 3]
:local y [:pick $date 7 11]
:if ($m="jan") do={:set m "01"};
:if ($m="feb") do={:set m "02"};
:if ($m="mar") do={:set m "03"};
:if ($m="apr") do={:set m "04"};
:if ($m="may") do={:set m "05"};
:if ($m="jun") do={:set m "06"};
:if ($m="jul") do={:set m "07"};
:if ($m="aug") do={:set m "08"};
:if ($m="sep") do={:set m "09"};
:if ($m="oct") do={:set m "10"};
:if ($m="nov") do={:set m "11"};
:if ($m="dec") do={:set m "12"};
:set date ($m.$d.$y);
/system backup save name=$date;
:delay 3s;
:foreach i in=[/file find] do={
:local name [/file get $i name];
:if ([:len [/file get $i name]]="15") do={
:local m1 [:pick $date 0 2];
:local y1 [:pick $date 4 8];
:local m2 [:pick $name 0 2];
:local y2 [:pick $name 4 8];
:if ($y1=$y2 && m2 < $m1) do={
/file remove $name};
:if ($y1 > $y2) do={
/file remove $name}}}};

20130516122622.jpg

Thank you for your script, can you give me details (every line), that means, what is the work each line of script