http://www.perlmonks.org?node_id=1035138


in reply to Re^3: single quotes not allowing in perl
in thread single quotes not allowing in perl

why use hyphen symbol very beginning..really i don't know that's why i ask u

  • Comment on Re^4: single quotes not allowing in perl

Replies are listed 'Best First'.
Re^5: single quotes not allowing in perl
by hdb (Monsignor) on May 24, 2013 at 13:47 UTC

    If the hyphen is in the middle of a character class, it defines a range. /[a-z]/ matches any lower case character. In the same way /[ -.]/ defines the range of ASCII characters between " " and "." and these are:  !"#$%&'()*+,-.. If the hyphen is at the start of the class, it will be taken as a hyphen and not to define a range.

Re^5: single quotes not allowing in perl
by tobyink (Canon) on May 24, 2013 at 13:51 UTC

    Hyphen is used to match ranges like A-Z and 0-9. But sometimes you want to really match hyphen. In this case there are some fairly convoluted and difficult to remember rules specifying when hyphen means hyphen. An easy rule of thumb though is that if the hyphen is at the very beginning or very end of the range, it means hyphen.

    package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name

      thank u i understood why we put a hyphen symbol very beginning matching

Re^5: single quotes not allowing in perl
by Anonymous Monk on May 25, 2013 at 12:05 UTC
    You had used a long word "beginning" (instead of, say, "start"), yet you continue to use "u" instead of "you". Oh, find some punctuation signs & use them appropriately while there.