c++では以下の式では関数aとbのどちらが先に
実行されるかは不定ですだから実行順序に依存
した処理はするなと本にありました

i = a() + b();

perlではどうなのでしょうか?

i = a() + b();としたときa()とb()は必ずa(),b()の順で
実行されるのでしょうか?それとも不定なのでしょうか?