Perl Best Practices [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Perl Best Practices [Electronic resources] - نسخه متنی

Damian Conway

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید







12.10. Named Characters


Prefer named characters to escaped metacharacters .


As an alternative to the previous guideline, Perl 5.6 (and later) supports named characters in regexes. As previously discussed[*], this mechanism is much better for "unprintable" components of a regex. For example, instead of:

[*] "Escaped Characters" in Chapter 4.



if ($escape_seq =~ /\177 \006 \030 Z/xms) { # Octal DEL-ACK-CAN-Z
blink(182);
}

use:


use charnames qw( :full );
if ($escape_seq =~ m/\N{DELETE} \N{ACKNOWLEDGE} \N{CANCEL} Z/xms) {
blink(182);
}

Note, however that named whitespace characters are treated like ordinary whitespace (i.e., they're ignored) under the /x flag:


use charnames qw( :full );
# and later...
$name =~ m{ harry \N{SPACE} s \N{SPACE} truman # harrystruman
| harry \N{SPACE} j \N{SPACE} potter # harryjpotter
}ixms;

You would still need to put them in characters classes to make them match:


use charnames qw( :full );

# and later...

$name =~ m{ harry [\N{SPACE}] s [\N{SPACE}] truman
# harry s truman

| harry [\N{SPACE}] j [\N{SPACE}] potter
# harry j potter

}ixms;


/ 317