Der Sinn und die Zweckmäßigkeit solcher do{}-Böcke besteht hauptsächlich darin, mehrere Anweisungen zusamenzufassen, so daß effektiv nur eine Anweisung übrigbleibt.
Jein, Anweisungen zu Blöcken zusammenfassen kannst du auch heute schon in JavaScript:
{
const a = 1;
const b = 2;
const c = a + b;
}
Der springende Punkt ist, dass man in JavaScript bisher keine Anweisungsblöcke in Ausdrücke einbetten kann, dafür sind do-Expressions da. Kann gut sein, dass Perl das schon hat, aber einem JavaScript-Programmierer hilft das nicht sonderlich viel.