>>29 do ~ while 構文(及び while 修飾子)で last したければ % perl -le '{ do{last} while (1) } ;' みたくブロックで囲む必要がある。 詳しくは、 perlsyn の while の項を読め。 ちなみに next の時は、 % perl -le 'do{{next}} while (1) ;'
B::Deparse で syntax OK になる分タチ悪がね。 % perl -MO=Deparse -le 'do{last}while( 1 ) ; ' (略) -e syntax OK