Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I am going thru the Alpaca book, currently trying out the examples of objects/instances. The packages (or classes) defined in the text are typically written as:

{ package somename; #perlcode }

I'm used to seeing things analagous to the 'package' keyword (ex 'sub') outside of the block of code. I find that Perl (or my example programs, at any rate) run identically with the syntax of the packages written as above (from the textbook) or in any of the following ways:

package somename; { #perlcode } package somename { #perlcode } package somename { #perlcode }; { package somename; #perlcode };

I do get syntax errors with the following:

{ package somename #perlcode }

When the package keyword is inside the block it seems you have to have a semicolon after the package/class name. But I am surprised that so many other variations all work. My question is, am I introducing some kind of subtle difference in scope or something like that? Are they really all the same?

In reply to OO Perl Baby Steps by Clovis_Sangrail

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others cooling their heels in the Monastery: (10)
    As of 2018-07-19 13:42 GMT
    Find Nodes?
      Voting Booth?
      It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

      Results (408 votes). Check out past polls.