Let me give a few sample cases where you want one and not the other.

If you want to use the return value, then you want to use do:

# Trick for generating a symbol to use as, for instance, # a filehandle... my $fh = do {local *FH};
If you want to use loop control, then you have to use a bare block. merlyn gives some ideas at RE: My favorite looping mechanism in Perl is: about why you might want to do that.

If you want to put several statements where syntactically only one is supposed to go, you would want do. That might look like this:

do {print "Hello"; print " World\n";} for 1..10;
Note that I don't feel the need for this use of do. So I will follow up with a use for bare blocks that I feel is equally useless. Suppose you don't like semi-colons. Well help is at hand!
{print "Hello"} {print " World\n"} # etc
Does that clarify the similarities and differences?

In reply to Re (tilly) 1: {} vs do{} by tilly
in thread {} vs do{} by John M. Dlugosz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.