while (1) and for (;;) (which is also quite traditional) result in the same code.
$ perl -MO=Concise,-exec -e'for (;;) { f() }'
1 <0> enter
2 <;> nextstate(main 3 -e:1) v:{
3 <{> enterloop(next->8 last->9 redo->4) v
4 <;> nextstate(main 1 -e:1) v
5 <0> pushmark s
6 <#> gv[*f] s/EARLYCV
7 <1> entersub[t3] vKS/TARG,1
8 <0> unstack v
-e syntax OK
$ perl -MO=Concise,-exec -e'while (1) { f() }'
1 <0> enter
2 <;> nextstate(main 3 -e:1) v:{
3 <{> enterloop(next->8 last->9 redo->4) v
4 <;> nextstate(main 1 -e:1) v
5 <0> pushmark s
6 <#> gv[*f] s/EARLYCV
7 <1> entersub[t3] vKS/TARG,1
8 <0> unstack v
-e syntax OK
$ diff -u \
<( perl -MO=Concise,-exec -e'while (1) { f() }' 2>&1 ) \
<( perl -MO=Concise,-exec -e'for (;;) { f() }' 2>&1 ) \
&& echo same
same
|