1feature(3pm) Perl Programmers Reference Guide feature(3pm)
2
3
4
6 feature - Perl pragma to enable new features
7
9 use feature qw(fc say);
10
11 # Without the "use feature" above, this code would not be able to find
12 # the built-ins "say" or "fc":
13 say "The case-folded version of $x is: " . fc $x;
14
15
16 # set features to match the :5.36 bundle, which may turn off or on
17 # multiple features (see "FEATURE BUNDLES" below)
18 use feature ':5.36';
19
20
21 # implicitly loads :5.36 feature bundle
22 use v5.36;
23
25 It is usually impossible to add new syntax to Perl without breaking
26 some existing programs. This pragma provides a way to minimize that
27 risk. New syntactic constructs, or new semantic meanings to older
28 constructs, can be enabled by "use feature 'foo'", and will be parsed
29 only when the appropriate feature pragma is in scope. (Nevertheless,
30 the "CORE::" prefix provides access to all Perl keywords, regardless of
31 this pragma.)
32
33 Lexical effect
34 Like other pragmas ("use strict", for example), features have a lexical
35 effect. "use feature qw(foo)" will only make the feature "foo"
36 available from that point to the end of the enclosing block.
37
38 {
39 use feature 'say';
40 say "say is available here";
41 }
42 print "But not here.\n";
43
44 "no feature"
45 Features can also be turned off by using "no feature "foo"". This too
46 has lexical effect.
47
48 use feature 'say';
49 say "say is available here";
50 {
51 no feature 'say';
52 print "But not here.\n";
53 }
54 say "Yet it is here.";
55
56 "no feature" with no features specified will reset to the default
57 group. To disable all features (an unusual request!) use "no feature
58 ':all'".
59
61 Read "FEATURE BUNDLES" for the feature cheat sheet summary.
62
63 The 'say' feature
64 "use feature 'say'" tells the compiler to enable the Raku-inspired
65 "say" function.
66
67 See "say" in perlfunc for details.
68
69 This feature is available starting with Perl 5.10.
70
71 The 'state' feature
72 "use feature 'state'" tells the compiler to enable "state" variables.
73
74 See "Persistent Private Variables" in perlsub for details.
75
76 This feature is available starting with Perl 5.10.
77
78 The 'switch' feature
79 WARNING: This feature is still experimental and the implementation may
80 change or be removed in future versions of Perl. For this reason, Perl
81 will warn when you use the feature, unless you have explicitly disabled
82 the warning:
83
84 no warnings "experimental::smartmatch";
85
86 "use feature 'switch'" tells the compiler to enable the Raku given/when
87 construct.
88
89 See "Switch Statements" in perlsyn for details.
90
91 This feature is available starting with Perl 5.10. It is deprecated
92 starting with Perl 5.38, and using "given", "when" or smartmatch will
93 throw a warning. It will be removed in Perl 5.42.
94
95 The 'unicode_strings' feature
96 "use feature 'unicode_strings'" tells the compiler to use Unicode rules
97 in all string operations executed within its scope (unless they are
98 also within the scope of either "use locale" or "use bytes"). The same
99 applies to all regular expressions compiled within the scope, even if
100 executed outside it. It does not change the internal representation of
101 strings, but only how they are interpreted.
102
103 "no feature 'unicode_strings'" tells the compiler to use the
104 traditional Perl rules wherein the native character set rules is used
105 unless it is clear to Perl that Unicode is desired. This can lead to
106 some surprises when the behavior suddenly changes. (See "The "Unicode
107 Bug"" in perlunicode for details.) For this reason, if you are
108 potentially using Unicode in your program, the "use feature
109 'unicode_strings'" subpragma is strongly recommended.
110
111 This feature is available starting with Perl 5.12; was almost fully
112 implemented in Perl 5.14; and extended in Perl 5.16 to cover
113 "quotemeta"; was extended further in Perl 5.26 to cover the range
114 operator; and was extended again in Perl 5.28 to cover special-cased
115 whitespace splitting.
116
117 The 'unicode_eval' and 'evalbytes' features
118 Together, these two features are intended to replace the legacy string
119 "eval" function, which behaves problematically in some instances. They
120 are available starting with Perl 5.16, and are enabled by default by a
121 "use 5.16" or higher declaration.
122
123 "unicode_eval" changes the behavior of plain string "eval" to work more
124 consistently, especially in the Unicode world. Certain (mis)behaviors
125 couldn't be changed without breaking some things that had come to rely
126 on them, so the feature can be enabled and disabled. Details are at
127 "Under the "unicode_eval" feature" in perlfunc.
128
129 "evalbytes" is like string "eval", but it treats its argument as a byte
130 string. Details are at "evalbytes EXPR" in perlfunc. Without a
131 "use feature 'evalbytes'" nor a "use v5.16" (or higher) declaration in
132 the current scope, you can still access it by instead writing
133 "CORE::evalbytes".
134
135 The 'current_sub' feature
136 This provides the "__SUB__" token that returns a reference to the
137 current subroutine or "undef" outside of a subroutine.
138
139 This feature is available starting with Perl 5.16.
140
141 The 'array_base' feature
142 This feature supported the legacy $[ variable. See "$[" in perlvar.
143 It was on by default but disabled under "use v5.16" (see "IMPLICIT
144 LOADING", below) and unavailable since perl 5.30.
145
146 This feature is available under this name starting with Perl 5.16. In
147 previous versions, it was simply on all the time, and this pragma knew
148 nothing about it.
149
150 The 'fc' feature
151 "use feature 'fc'" tells the compiler to enable the "fc" function,
152 which implements Unicode casefolding.
153
154 See "fc" in perlfunc for details.
155
156 This feature is available from Perl 5.16 onwards.
157
158 The 'lexical_subs' feature
159 In Perl versions prior to 5.26, this feature enabled declaration of
160 subroutines via "my sub foo", "state sub foo" and "our sub foo" syntax.
161 See "Lexical Subroutines" in perlsub for details.
162
163 This feature is available from Perl 5.18 onwards. From Perl 5.18 to
164 5.24, it was classed as experimental, and Perl emitted a warning for
165 its usage, except when explicitly disabled:
166
167 no warnings "experimental::lexical_subs";
168
169 As of Perl 5.26, use of this feature no longer triggers a warning,
170 though the "experimental::lexical_subs" warning category still exists
171 (for compatibility with code that disables it). In addition, this
172 syntax is not only no longer experimental, but it is enabled for all
173 Perl code, regardless of what feature declarations are in scope.
174
175 The 'postderef' and 'postderef_qq' features
176 The 'postderef_qq' feature extends the applicability of postfix
177 dereference syntax so that postfix array dereference, postfix scalar
178 dereference, and postfix array highest index access are available in
179 double-quotish interpolations. For example, it makes the following two
180 statements equivalent:
181
182 my $s = "[@{ $h->{a} }]";
183 my $s = "[$h->{a}->@*]";
184
185 This feature is available from Perl 5.20 onwards. In Perl 5.20 and
186 5.22, it was classed as experimental, and Perl emitted a warning for
187 its usage, except when explicitly disabled:
188
189 no warnings "experimental::postderef";
190
191 As of Perl 5.24, use of this feature no longer triggers a warning,
192 though the "experimental::postderef" warning category still exists (for
193 compatibility with code that disables it).
194
195 The 'postderef' feature was used in Perl 5.20 and Perl 5.22 to enable
196 postfix dereference syntax outside double-quotish interpolations. In
197 those versions, using it triggered the "experimental::postderef"
198 warning in the same way as the 'postderef_qq' feature did. As of Perl
199 5.24, this syntax is not only no longer experimental, but it is enabled
200 for all Perl code, regardless of what feature declarations are in
201 scope.
202
203 The 'signatures' feature
204 This enables syntax for declaring subroutine arguments as lexical
205 variables. For example, for this subroutine:
206
207 sub foo ($left, $right) {
208 return $left + $right;
209 }
210
211 Calling "foo(3, 7)" will assign 3 into $left and 7 into $right.
212
213 See "Signatures" in perlsub for details.
214
215 This feature is available from Perl 5.20 onwards. From Perl 5.20 to
216 5.34, it was classed as experimental, and Perl emitted a warning for
217 its usage, except when explicitly disabled:
218
219 no warnings "experimental::signatures";
220
221 As of Perl 5.36, use of this feature no longer triggers a warning,
222 though the "experimental::signatures" warning category still exists
223 (for compatibility with code that disables it). This feature is now
224 considered stable, and is enabled automatically by "use v5.36" (or
225 higher).
226
227 The 'refaliasing' feature
228 WARNING: This feature is still experimental and the implementation may
229 change or be removed in future versions of Perl. For this reason, Perl
230 will warn when you use the feature, unless you have explicitly disabled
231 the warning:
232
233 no warnings "experimental::refaliasing";
234
235 This enables aliasing via assignment to references:
236
237 \$a = \$b; # $a and $b now point to the same scalar
238 \@a = \@b; # to the same array
239 \%a = \%b;
240 \&a = \&b;
241 foreach \%hash (@array_of_hash_refs) {
242 ...
243 }
244
245 See "Assigning to References" in perlref for details.
246
247 This feature is available from Perl 5.22 onwards.
248
249 The 'bitwise' feature
250 This makes the four standard bitwise operators ("& | ^ ~") treat their
251 operands consistently as numbers, and introduces four new dotted
252 operators ("&. |. ^. ~.") that treat their operands consistently as
253 strings. The same applies to the assignment variants ("&= |= ^= &.=
254 |.= ^.=").
255
256 See "Bitwise String Operators" in perlop for details.
257
258 This feature is available from Perl 5.22 onwards. Starting in Perl
259 5.28, "use v5.28" will enable the feature. Before 5.28, it was still
260 experimental and would emit a warning in the "experimental::bitwise"
261 category.
262
263 The 'declared_refs' feature
264 WARNING: This feature is still experimental and the implementation may
265 change or be removed in future versions of Perl. For this reason, Perl
266 will warn when you use the feature, unless you have explicitly disabled
267 the warning:
268
269 no warnings "experimental::declared_refs";
270
271 This allows a reference to a variable to be declared with "my",
272 "state", or "our", or localized with "local". It is intended mainly
273 for use in conjunction with the "refaliasing" feature. See "Declaring
274 a Reference to a Variable" in perlref for examples.
275
276 This feature is available from Perl 5.26 onwards.
277
278 The 'isa' feature
279 This allows the use of the "isa" infix operator, which tests whether
280 the scalar given by the left operand is an object of the class given by
281 the right operand. See "Class Instance Operator" in perlop for more
282 details.
283
284 This feature is available from Perl 5.32 onwards. From Perl 5.32 to
285 5.34, it was classed as experimental, and Perl emitted a warning for
286 its usage, except when explicitly disabled:
287
288 no warnings "experimental::isa";
289
290 As of Perl 5.36, use of this feature no longer triggers a warning
291 (though the "experimental::isa" warning category stilll exists for
292 compatibility with code that disables it). This feature is now
293 considered stable, and is enabled automatically by "use v5.36" (or
294 higher).
295
296 The 'indirect' feature
297 This feature allows the use of indirect object syntax for method calls,
298 e.g. "new Foo 1, 2;". It is enabled by default, but can be turned off
299 to disallow indirect object syntax.
300
301 This feature is available under this name from Perl 5.32 onwards. In
302 previous versions, it was simply on all the time. To disallow (or warn
303 on) indirect object syntax on older Perls, see the indirect CPAN
304 module.
305
306 The 'multidimensional' feature
307 This feature enables multidimensional array emulation, a perl 4 (or
308 earlier) feature that was used to emulate multidimensional arrays with
309 hashes. This works by converting code like $foo{$x, $y} into
310 $foo{join($;, $x, $y)}. It is enabled by default, but can be turned
311 off to disable multidimensional array emulation.
312
313 When this feature is disabled the syntax that is normally replaced will
314 report a compilation error.
315
316 This feature is available under this name from Perl 5.34 onwards. In
317 previous versions, it was simply on all the time.
318
319 You can use the multidimensional module on CPAN to disable
320 multidimensional array emulation for older versions of Perl.
321
322 The 'bareword_filehandles' feature
323 This feature enables bareword filehandles for builtin functions
324 operations, a generally discouraged practice. It is enabled by
325 default, but can be turned off to disable bareword filehandles, except
326 for the exceptions listed below.
327
328 The perl built-in filehandles "STDIN", "STDOUT", "STDERR", "DATA",
329 "ARGV", "ARGVOUT" and the special "_" are always enabled.
330
331 This feature is enabled under this name from Perl 5.34 onwards. In
332 previous versions it was simply on all the time.
333
334 You can use the bareword::filehandles module on CPAN to disable
335 bareword filehandles for older versions of perl.
336
337 The 'try' feature
338 WARNING: This feature is still experimental and the implementation may
339 change or be removed in future versions of Perl. For this reason, Perl
340 will warn when you use the feature, unless you have explicitly disabled
341 the warning:
342
343 no warnings "experimental::try";
344
345 This feature enables the "try" and "catch" syntax, which allows
346 exception handling, where exceptions thrown from the body of the block
347 introduced with "try" are caught by executing the body of the "catch"
348 block.
349
350 For more information, see "Try Catch Exception Handling" in perlsyn.
351
352 The 'defer' feature
353 WARNING: This feature is still experimental and the implementation may
354 change or be removed in future versions of Perl. For this reason, Perl
355 will warn when you use the feature, unless you have explicitly disabled
356 the warning:
357
358 no warnings "experimental::defer";
359
360 This feature enables the "defer" block syntax, which allows a block of
361 code to be deferred until when the flow of control leaves the block
362 which contained it. For more details, see "defer" in perlsyn.
363
364 The 'extra_paired_delimiters' feature
365 WARNING: This feature is still experimental and the implementation may
366 change or be removed in future versions of Perl. For this reason, Perl
367 will warn when you use the feature, unless you have explicitly disabled
368 the warning:
369
370 no warnings "experimental::extra_paired_delimiters";
371
372 This feature enables the use of more paired string delimiters than the
373 traditional four, "< >", "( )", "{ }", and "[ ]". When this feature
374 is on, for example, you can say "qr«pat»".
375
376 As with any usage of non-ASCII delimiters in a UTF-8-encoded source
377 file, you will want to ensure the parser will decode the source code
378 from UTF-8 bytes with a declaration such as "use utf8".
379
380 This feature is available starting in Perl 5.36.
381
382 The complete list of accepted paired delimiters as of Unicode 14.0 is:
383
384 ( ) U+0028, U+0029 LEFT/RIGHT PARENTHESIS
385 < > U+003C, U+003E LESS-THAN/GREATER-THAN SIGN
386 [ ] U+005B, U+005D LEFT/RIGHT SQUARE BRACKET
387 { } U+007B, U+007D LEFT/RIGHT CURLY BRACKET
388 « » U+00AB, U+00BB LEFT/RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
389 » « U+00BB, U+00AB RIGHT/LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
390 ܆ ܇ U+0706, U+0707 SYRIAC COLON SKEWED LEFT/RIGHT
391 ༺ ༻ U+0F3A, U+0F3B TIBETAN MARK GUG RTAGS GYON, TIBETAN MARK GUG
392 RTAGS GYAS
393 ༼ ༽ U+0F3C, U+0F3D TIBETAN MARK ANG KHANG GYON, TIBETAN MARK ANG
394 KHANG GYAS
395 ᚛ ᚜ U+169B, U+169C OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
396 ‘ ’ U+2018, U+2019 LEFT/RIGHT SINGLE QUOTATION MARK
397 ’ ‘ U+2019, U+2018 RIGHT/LEFT SINGLE QUOTATION MARK
398 “ ” U+201C, U+201D LEFT/RIGHT DOUBLE QUOTATION MARK
399 ” “ U+201D, U+201C RIGHT/LEFT DOUBLE QUOTATION MARK
400 ‵ ′ U+2035, U+2032 REVERSED PRIME, PRIME
401 ‶ ″ U+2036, U+2033 REVERSED DOUBLE PRIME, DOUBLE PRIME
402 ‷ ‴ U+2037, U+2034 REVERSED TRIPLE PRIME, TRIPLE PRIME
403 ‹ › U+2039, U+203A SINGLE LEFT/RIGHT-POINTING ANGLE QUOTATION MARK
404 › ‹ U+203A, U+2039 SINGLE RIGHT/LEFT-POINTING ANGLE QUOTATION MARK
405 ⁅ ⁆ U+2045, U+2046 LEFT/RIGHT SQUARE BRACKET WITH QUILL
406 ⁍ ⁌ U+204D, U+204C BLACK RIGHT/LEFTWARDS BULLET
407 ⁽ ⁾ U+207D, U+207E SUPERSCRIPT LEFT/RIGHT PARENTHESIS
408 ₍ ₎ U+208D, U+208E SUBSCRIPT LEFT/RIGHT PARENTHESIS
409 → ← U+2192, U+2190 RIGHT/LEFTWARDS ARROW
410 ↛ ↚ U+219B, U+219A RIGHT/LEFTWARDS ARROW WITH STROKE
411 ↝ ↜ U+219D, U+219C RIGHT/LEFTWARDS WAVE ARROW
412 ↠ ↞ U+21A0, U+219E RIGHT/LEFTWARDS TWO HEADED ARROW
413 ↣ ↢ U+21A3, U+21A2 RIGHT/LEFTWARDS ARROW WITH TAIL
414 ↦ ↤ U+21A6, U+21A4 RIGHT/LEFTWARDS ARROW FROM BAR
415 ↪ ↩ U+21AA, U+21A9 RIGHT/LEFTWARDS ARROW WITH HOOK
416 ↬ ↫ U+21AC, U+21AB RIGHT/LEFTWARDS ARROW WITH LOOP
417 ↱ ↰ U+21B1, U+21B0 UPWARDS ARROW WITH TIP RIGHT/LEFTWARDS
418 ↳ ↲ U+21B3, U+21B2 DOWNWARDS ARROW WITH TIP RIGHT/LEFTWARDS
419 ⇀ ↼ U+21C0, U+21BC RIGHT/LEFTWARDS HARPOON WITH BARB UPWARDS
420 ⇁ ↽ U+21C1, U+21BD RIGHT/LEFTWARDS HARPOON WITH BARB DOWNWARDS
421 ⇉ ⇇ U+21C9, U+21C7 RIGHT/LEFTWARDS PAIRED ARROWS
422 ⇏ ⇍ U+21CF, U+21CD RIGHT/LEFTWARDS DOUBLE ARROW WITH STROKE
423 ⇒ ⇐ U+21D2, U+21D0 RIGHT/LEFTWARDS DOUBLE ARROW
424 ⇛ ⇚ U+21DB, U+21DA RIGHT/LEFTWARDS TRIPLE ARROW
425 ⇝ ⇜ U+21DD, U+21DC RIGHT/LEFTWARDS SQUIGGLE ARROW
426 ⇢ ⇠ U+21E2, U+21E0 RIGHT/LEFTWARDS DASHED ARROW
427 ⇥ ⇤ U+21E5, U+21E4 RIGHT/LEFTWARDS ARROW TO BAR
428 ⇨ ⇦ U+21E8, U+21E6 RIGHT/LEFTWARDS WHITE ARROW
429 ⇴ ⬰ U+21F4, U+2B30 RIGHT/LEFT ARROW WITH SMALL CIRCLE
430 ⇶ ⬱ U+21F6, U+2B31 THREE RIGHT/LEFTWARDS ARROWS
431 ⇸ ⇷ U+21F8, U+21F7 RIGHT/LEFTWARDS ARROW WITH VERTICAL STROKE
432 ⇻ ⇺ U+21FB, U+21FA RIGHT/LEFTWARDS ARROW WITH DOUBLE VERTICAL
433 STROKE
434 ⇾ ⇽ U+21FE, U+21FD RIGHT/LEFTWARDS OPEN-HEADED ARROW
435 ∈ ∋ U+2208, U+220B ELEMENT OF, CONTAINS AS MEMBER
436 ∉ ∌ U+2209, U+220C NOT AN ELEMENT OF, DOES NOT CONTAIN AS MEMBER
437 ∊ ∍ U+220A, U+220D SMALL ELEMENT OF, SMALL CONTAINS AS MEMBER
438 ≤ ≥ U+2264, U+2265 LESS-THAN/GREATER-THAN OR EQUAL TO
439 ≦ ≧ U+2266, U+2267 LESS-THAN/GREATER-THAN OVER EQUAL TO
440 ≨ ≩ U+2268, U+2269 LESS-THAN/GREATER-THAN BUT NOT EQUAL TO
441 ≫ ≪ U+226A, U+226B MUCH LESS-THAN/GREATER-THAN
442 ≮ ≯ U+226E, U+226F NOT LESS-THAN/GREATER-THAN
443 ≰ ≱ U+2270, U+2271 NEITHER LESS-THAN/GREATER-THAN NOR EQUAL TO
444 ≲ ≳ U+2272, U+2273 LESS-THAN/GREATER-THAN OR EQUIVALENT TO
445 ≴ ≵ U+2274, U+2275 NEITHER LESS-THAN/GREATER-THAN NOR EQUIVALENT TO
446 ≺ ≻ U+227A, U+227B PRECEDES/SUCCEEDS
447 ≼ ≽ U+227C, U+227D PRECEDES/SUCCEEDS OR EQUAL TO
448 ≾ ≿ U+227E, U+227F PRECEDES/SUCCEEDS OR EQUIVALENT TO
449 ⊀ ⊁ U+2280, U+2281 DOES NOT PRECEDE/SUCCEED
450 ⊂ ⊃ U+2282, U+2283 SUBSET/SUPERSET OF
451 ⊄ ⊅ U+2284, U+2285 NOT A SUBSET/SUPERSET OF
452 ⊆ ⊇ U+2286, U+2287 SUBSET/SUPERSET OF OR EQUAL TO
453 ⊈ ⊉ U+2288, U+2289 NEITHER A SUBSET/SUPERSET OF NOR EQUAL TO
454 ⊊ ⊋ U+228A, U+228B SUBSET/SUPERSET OF WITH NOT EQUAL TO
455 ⊣ ⊢ U+22A3, U+22A2 LEFT/RIGHT TACK
456 ⊦ ⫞ U+22A6, U+2ADE ASSERTION, SHORT LEFT TACK
457 ⊨ ⫤ U+22A8, U+2AE4 TRUE, VERTICAL BAR DOUBLE LEFT TURNSTILE
458 ⊩ ⫣ U+22A9, U+2AE3 FORCES, DOUBLE VERTICAL BAR LEFT TURNSTILE
459 ⊰ ⊱ U+22B0, U+22B1 PRECEDES/SUCCEEDS UNDER RELATION
460 ⋐ ⋑ U+22D0, U+22D1 DOUBLE SUBSET/SUPERSET
461 ⋖ ⋗ U+22D6, U+22D7 LESS-THAN/GREATER-THAN WITH DOT
462 ⋘ ⋙ U+22D8, U+22D9 VERY MUCH LESS-THAN/GREATER-THAN
463 ⋜ ⋝ U+22DC, U+22DD EQUAL TO OR LESS-THAN/GREATER-THAN
464 ⋞ ⋟ U+22DE, U+22DF EQUAL TO OR PRECEDES/SUCCEEDS
465 ⋠ ⋡ U+22E0, U+22E1 DOES NOT PRECEDE/SUCCEED OR EQUAL
466 ⋦ ⋧ U+22E6, U+22E7 LESS-THAN/GREATER-THAN BUT NOT EQUIVALENT TO
467 ⋨ ⋩ U+22E8, U+22E9 PRECEDES/SUCCEEDS BUT NOT EQUIVALENT TO
468 ⋲ ⋺ U+22F2, U+22FA ELEMENT OF/CONTAINS WITH LONG HORIZONTAL STROKE
469 ⋳ ⋻ U+22F3, U+22FB ELEMENT OF/CONTAINS WITH VERTICAL BAR AT END OF
470 HORIZONTAL STROKE
471 ⋴ ⋼ U+22F4, U+22FC SMALL ELEMENT OF/CONTAINS WITH VERTICAL BAR AT
472 END OF HORIZONTAL STROKE
473 ⋶ ⋽ U+22F6, U+22FD ELEMENT OF/CONTAINS WITH OVERBAR
474 ⋷ ⋾ U+22F7, U+22FE SMALL ELEMENT OF/CONTAINS WITH OVERBAR
475 ⌈ ⌉ U+2308, U+2309 LEFT/RIGHT CEILING
476 ⌊ ⌋ U+230A, U+230B LEFT/RIGHT FLOOR
477 ⌦ ⌫ U+2326, U+232B ERASE TO THE RIGHT/LEFT
478 〈 〉 U+2329, U+232A LEFT/RIGHT-POINTING ANGLE BRACKET
479 ⍈ ⍇ U+2348, U+2347 APL FUNCTIONAL SYMBOL QUAD RIGHT/LEFTWARDS ARROW
480 ⏩ ⏪ U+23E9, U+23EA BLACK RIGHT/LEFT-POINTING DOUBLE TRIANGLE
481 ⏭ ⏮ U+23ED, U+23EE BLACK RIGHT/LEFT-POINTING DOUBLE TRIANGLE WITH
482 VERTICAL BAR
483 ☛ ☚ U+261B, U+261A BLACK RIGHT/LEFT POINTING INDEX
484 ☞ ☜ U+261E, U+261C WHITE RIGHT/LEFT POINTING INDEX
485 ⚞ ⚟ U+269E, U+269F THREE LINES CONVERGING RIGHT/LEFT
486 ❨ ❩ U+2768, U+2769 MEDIUM LEFT/RIGHT PARENTHESIS ORNAMENT
487 ❪ ❫ U+276A, U+276B MEDIUM FLATTENED LEFT/RIGHT PARENTHESIS ORNAMENT
488 ❬ ❭ U+276C, U+276D MEDIUM LEFT/RIGHT-POINTING ANGLE BRACKET
489 ORNAMENT
490 ❮ ❯ U+276E, U+276F HEAVY LEFT/RIGHT-POINTING ANGLE QUOTATION MARK
491 ORNAMENT
492 ❰ ❱ U+2770, U+2771 HEAVY LEFT/RIGHT-POINTING ANGLE BRACKET ORNAMENT
493 ❲ ❳ U+2772, U+2773 LIGHT LEFT/RIGHT TORTOISE SHELL BRACKET ORNAMENT
494 ❴ ❵ U+2774, U+2775 MEDIUM LEFT/RIGHT CURLY BRACKET ORNAMENT
495 ⟃ ⟄ U+27C3, U+27C4 OPEN SUBSET/SUPERSET
496 ⟅ ⟆ U+27C5, U+27C6 LEFT/RIGHT S-SHAPED BAG DELIMITER
497 ⟈ ⟉ U+27C8, U+27C9 REVERSE SOLIDUS PRECEDING SUBSET, SUPERSET
498 PRECEDING SOLIDUS
499 ⟞ ⟝ U+27DE, U+27DD LONG LEFT/RIGHT TACK
500 ⟦ ⟧ U+27E6, U+27E7 MATHEMATICAL LEFT/RIGHT WHITE SQUARE BRACKET
501 ⟨ ⟩ U+27E8, U+27E9 MATHEMATICAL LEFT/RIGHT ANGLE BRACKET
502 ⟪ ⟫ U+27EA, U+27EB MATHEMATICAL LEFT/RIGHT DOUBLE ANGLE BRACKET
503 ⟬ ⟭ U+27EC, U+27ED MATHEMATICAL LEFT/RIGHT WHITE TORTOISE SHELL
504 BRACKET
505 ⟮ ⟯ U+27EE, U+27EF MATHEMATICAL LEFT/RIGHT FLATTENED PARENTHESIS
506 ⟴ ⬲ U+27F4, U+2B32 RIGHT/LEFT ARROW WITH CIRCLED PLUS
507 ⟶ ⟵ U+27F6, U+27F5 LONG RIGHT/LEFTWARDS ARROW
508 ⟹ ⟸ U+27F9, U+27F8 LONG RIGHT/LEFTWARDS DOUBLE ARROW
509 ⟼ ⟻ U+27FC, U+27FB LONG RIGHT/LEFTWARDS ARROW FROM BAR
510 ⟾ ⟽ U+27FE, U+27FD LONG RIGHT/LEFTWARDS DOUBLE ARROW FROM BAR
511 ⟿ ⬳ U+27FF, U+2B33 LONG RIGHT/LEFTWARDS SQUIGGLE ARROW
512 ⤀ ⬴ U+2900, U+2B34 RIGHT/LEFTWARDS TWO-HEADED ARROW WITH VERTICAL
513 STROKE
514 ⤁ ⬵ U+2901, U+2B35 RIGHT/LEFTWARDS TWO-HEADED ARROW WITH DOUBLE
515 VERTICAL STROKE
516 ⤃ ⤂ U+2903, U+2902 RIGHT/LEFTWARDS DOUBLE ARROW WITH VERTICAL
517 STROKE
518 ⤅ ⬶ U+2905, U+2B36 RIGHT/LEFTWARDS TWO-HEADED ARROW FROM BAR
519 ⤇ ⤆ U+2907, U+2906 RIGHT/LEFTWARDS DOUBLE ARROW FROM BAR
520 ⤍ ⤌ U+290D, U+290C RIGHT/LEFTWARDS DOUBLE DASH ARROW
521 ⤏ ⤎ U+290F, U+290E RIGHT/LEFTWARDS TRIPLE DASH ARROW
522 ⤐ ⬷ U+2910, U+2B37 RIGHT/LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
523 ⤑ ⬸ U+2911, U+2B38 RIGHT/LEFTWARDS ARROW WITH DOTTED STEM
524 ⤔ ⬹ U+2914, U+2B39 RIGHT/LEFTWARDS ARROW WITH TAIL WITH VERTICAL
525 STROKE
526 ⤕ ⬺ U+2915, U+2B3A RIGHT/LEFTWARDS ARROW WITH TAIL WITH DOUBLE
527 VERTICAL STROKE
528 ⤖ ⬻ U+2916, U+2B3B RIGHT/LEFTWARDS TWO-HEADED ARROW WITH TAIL
529 ⤗ ⬼ U+2917, U+2B3C RIGHT/LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH
530 VERTICAL STROKE
531 ⤘ ⬽ U+2918, U+2B3D RIGHT/LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH
532 DOUBLE VERTICAL STROKE
533 ⤚ ⤙ U+291A, U+2919 RIGHT/LEFTWARDS ARROW-TAIL
534 ⤜ ⤛ U+291C, U+291B RIGHT/LEFTWARDS DOUBLE ARROW-TAIL
535 ⤞ ⤝ U+291E, U+291D RIGHT/LEFTWARDS ARROW TO BLACK DIAMOND
536 ⤠ ⤟ U+2920, U+291F RIGHT/LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
537 ⤳ ⬿ U+2933, U+2B3F WAVE ARROW POINTING DIRECTLY RIGHT/LEFT
538 ⤷ ⤶ U+2937, U+2936 ARROW POINTING DOWNWARDS THEN CURVING RIGHT/
539 LEFTWARDS
540 ⥅ ⥆ U+2945, U+2946 RIGHT/LEFTWARDS ARROW WITH PLUS BELOW
541 ⥇ ⬾ U+2947, U+2B3E RIGHT/LEFTWARDS ARROW THROUGH X
542 ⥓ ⥒ U+2953, U+2952 RIGHT/LEFTWARDS HARPOON WITH BARB UP TO BAR
543 ⥗ ⥖ U+2957, U+2956 RIGHT/LEFTWARDS HARPOON WITH BARB DOWN TO BAR
544 ⥛ ⥚ U+295B, U+295A RIGHT/LEFTWARDS HARPOON WITH BARB UP FROM BAR
545 ⥟ ⥞ U+295F, U+295E RIGHT/LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
546 ⥤ ⥢ U+2964, U+2962 RIGHT/LEFTWARDS HARPOON WITH BARB UP ABOVE
547 RIGHT/LEFTWARDS HARPOON WITH BARB DOWN
548 ⥬ ⥪ U+296C, U+296A RIGHT/LEFTWARDS HARPOON WITH BARB UP ABOVE LONG
549 DASH
550 ⥭ ⥫ U+296D, U+296B RIGHT/LEFTWARDS HARPOON WITH BARB DOWN BELOW
551 LONG DASH
552 ⥱ ⭀ U+2971, U+2B40 EQUALS SIGN ABOVE RIGHT/LEFTWARDS ARROW
553 ⥲ ⭁ U+2972, U+2B41 TILDE OPERATOR ABOVE RIGHTWARDS ARROW, REVERSE
554 TILDE OPERATOR ABOVE LEFTWARDS ARROW
555 ⥴ ⭋ U+2974, U+2B4B RIGHTWARDS ARROW ABOVE TILDE OPERATOR,
556 LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
557 ⥵ ⭂ U+2975, U+2B42 RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO,
558 LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
559 ⥹ ⥻ U+2979, U+297B SUBSET/SUPERSET ABOVE RIGHT/LEFTWARDS ARROW
560 ⦃ ⦄ U+2983, U+2984 LEFT/RIGHT WHITE CURLY BRACKET
561 ⦅ ⦆ U+2985, U+2986 LEFT/RIGHT WHITE PARENTHESIS
562 ⦇ ⦈ U+2987, U+2988 Z NOTATION LEFT/RIGHT IMAGE BRACKET
563 ⦉ ⦊ U+2989, U+298A Z NOTATION LEFT/RIGHT BINDING BRACKET
564 ⦋ ⦌ U+298B, U+298C LEFT/RIGHT SQUARE BRACKET WITH UNDERBAR
565 ⦍ ⦐ U+298D, U+2990 LEFT/RIGHT SQUARE BRACKET WITH TICK IN TOP
566 CORNER
567 ⦏ ⦎ U+298F, U+298E LEFT/RIGHT SQUARE BRACKET WITH TICK IN BOTTOM
568 CORNER
569 ⦑ ⦒ U+2991, U+2992 LEFT/RIGHT ANGLE BRACKET WITH DOT
570 ⦓ ⦔ U+2993, U+2994 LEFT/RIGHT ARC LESS-THAN/GREATER-THAN BRACKET
571 ⦕ ⦖ U+2995, U+2996 DOUBLE LEFT/RIGHT ARC GREATER-THAN/LESS-THAN
572 BRACKET
573 ⦗ ⦘ U+2997, U+2998 LEFT/RIGHT BLACK TORTOISE SHELL BRACKET
574 ⦨ ⦩ U+29A8, U+29A9 MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW
575 POINTING UP AND RIGHT/LEFT
576 ⦪ ⦫ U+29AA, U+29AB MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW
577 POINTING DOWN AND RIGHT/LEFT
578 ⦳ ⦴ U+29B3, U+29B4 EMPTY SET WITH RIGHT/LEFT ARROW ABOVE
579 ⧀ ⧁ U+29C0, U+29C1 CIRCLED LESS-THAN/GREATER-THAN
580 ⧘ ⧙ U+29D8, U+29D9 LEFT/RIGHT WIGGLY FENCE
581 ⧚ ⧛ U+29DA, U+29DB LEFT/RIGHT DOUBLE WIGGLY FENCE
582 ⧼ ⧽ U+29FC, U+29FD LEFT/RIGHT-POINTING CURVED ANGLE BRACKET
583 ⩹ ⩺ U+2A79, U+2A7A LESS-THAN/GREATER-THAN WITH CIRCLE INSIDE
584 ⩻ ⩼ U+2A7B, U+2A7C LESS-THAN/GREATER-THAN WITH QUESTION MARK ABOVE
585 ⩽ ⩾ U+2A7D, U+2A7E LESS-THAN/GREATER-THAN OR SLANTED EQUAL TO
586 ⩿ ⪀ U+2A7F, U+2A80 LESS-THAN/GREATER-THAN OR SLANTED EQUAL TO WITH
587 DOT INSIDE
588 ⪁ ⪂ U+2A81, U+2A82 LESS-THAN/GREATER-THAN OR SLANTED EQUAL TO WITH
589 DOT ABOVE
590 ⪃ ⪄ U+2A83, U+2A84 LESS-THAN/GREATER-THAN OR SLANTED EQUAL TO WITH
591 DOT ABOVE RIGHT/LEFT
592 ⪅ ⪆ U+2A85, U+2A86 LESS-THAN/GREATER-THAN OR APPROXIMATE
593 ⪇ ⪈ U+2A87, U+2A88 LESS-THAN/GREATER-THAN AND SINGLE-LINE NOT
594 EQUAL TO
595 ⪉ ⪊ U+2A89, U+2A8A LESS-THAN/GREATER-THAN AND NOT APPROXIMATE
596 ⪍ ⪎ U+2A8D, U+2A8E LESS-THAN/GREATER-THAN ABOVE SIMILAR OR EQUAL
597 ⪕ ⪖ U+2A95, U+2A96 SLANTED EQUAL TO OR LESS-THAN/GREATER-THAN
598 ⪗ ⪘ U+2A97, U+2A98 SLANTED EQUAL TO OR LESS-THAN/GREATER-THAN WITH
599 DOT INSIDE
600 ⪙ ⪚ U+2A99, U+2A9A DOUBLE-LINE EQUAL TO OR LESS-THAN/GREATER-THAN
601 ⪛ ⪜ U+2A9B, U+2A9C DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN/
602 GREATER-THAN
603 ⪝ ⪞ U+2A9D, U+2A9E SIMILAR OR LESS-THAN/GREATER-THAN
604 ⪟ ⪠ U+2A9F, U+2AA0 SIMILAR ABOVE LESS-THAN/GREATER-THAN ABOVE
605 EQUALS SIGN
606 ⪡ ⪢ U+2AA1, U+2AA2 DOUBLE NESTED LESS-THAN/GREATER-THAN
607 ⪦ ⪧ U+2AA6, U+2AA7 LESS-THAN/GREATER-THAN CLOSED BY CURVE
608 ⪨ ⪩ U+2AA8, U+2AA9 LESS-THAN/GREATER-THAN CLOSED BY CURVE ABOVE
609 SLANTED EQUAL
610 ⪪ ⪫ U+2AAA, U+2AAB SMALLER THAN/LARGER THAN
611 ⪬ ⪭ U+2AAC, U+2AAD SMALLER THAN/LARGER THAN OR EQUAL TO
612 ⪯ ⪰ U+2AAF, U+2AB0 PRECEDES/SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
613 ⪱ ⪲ U+2AB1, U+2AB2 PRECEDES/SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
614 ⪳ ⪴ U+2AB3, U+2AB4 PRECEDES/SUCCEEDS ABOVE EQUALS SIGN
615 ⪵ ⪶ U+2AB5, U+2AB6 PRECEDES/SUCCEEDS ABOVE NOT EQUAL TO
616 ⪷ ⪸ U+2AB7, U+2AB8 PRECEDES/SUCCEEDS ABOVE ALMOST EQUAL TO
617 ⪹ ⪺ U+2AB9, U+2ABA PRECEDES/SUCCEEDS ABOVE NOT ALMOST EQUAL TO
618 ⪻ ⪼ U+2ABB, U+2ABC DOUBLE PRECEDES/SUCCEEDS
619 ⪽ ⪾ U+2ABD, U+2ABE SUBSET/SUPERSET WITH DOT
620 ⪿ ⫀ U+2ABF, U+2AC0 SUBSET/SUPERSET WITH PLUS SIGN BELOW
621 ⫁ ⫂ U+2AC1, U+2AC2 SUBSET/SUPERSET WITH MULTIPLICATION SIGN BELOW
622 ⫃ ⫄ U+2AC3, U+2AC4 SUBSET/SUPERSET OF OR EQUAL TO WITH DOT ABOVE
623 ⫅ ⫆ U+2AC5, U+2AC6 SUBSET/SUPERSET OF ABOVE EQUALS SIGN
624 ⫇ ⫈ U+2AC7, U+2AC8 SUBSET/SUPERSET OF ABOVE TILDE OPERATOR
625 ⫉ ⫊ U+2AC9, U+2ACA SUBSET/SUPERSET OF ABOVE ALMOST EQUAL TO
626 ⫋ ⫌ U+2ACB, U+2ACC SUBSET/SUPERSET OF ABOVE NOT EQUAL TO
627 ⫏ ⫐ U+2ACF, U+2AD0 CLOSED SUBSET/SUPERSET
628 ⫑ ⫒ U+2AD1, U+2AD2 CLOSED SUBSET/SUPERSET OR EQUAL TO
629 ⫕ ⫖ U+2AD5, U+2AD6 SUBSET/SUPERSET ABOVE SUBSET/SUPERSET
630 ⫥ ⊫ U+2AE5, U+22AB DOUBLE VERTICAL BAR DOUBLE LEFT/RIGHT TURNSTILE
631 ⫷ ⫸ U+2AF7, U+2AF8 TRIPLE NESTED LESS-THAN/GREATER-THAN
632 ⫹ ⫺ U+2AF9, U+2AFA DOUBLE-LINE SLANTED LESS-THAN/GREATER-THAN OR
633 EQUAL TO
634 ⭆ ⭅ U+2B46, U+2B45 RIGHT/LEFTWARDS QUADRUPLE ARROW
635 ⭇ ⭉ U+2B47, U+2B49 REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW,
636 TILDE OPERATOR ABOVE LEFTWARDS ARROW
637 ⭈ ⭊ U+2B48, U+2B4A RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL
638 TO, LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
639 ⭌ ⥳ U+2B4C, U+2973 RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR,
640 LEFTWARDS ARROW ABOVE TILDE OPERATOR
641 ⭢ ⭠ U+2B62, U+2B60 RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW
642 ⭬ ⭪ U+2B6C, U+2B6A RIGHT/LEFTWARDS TRIANGLE-HEADED DASHED ARROW
643 ⭲ ⭰ U+2B72, U+2B70 RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW TO BAR
644 ⭼ ⭺ U+2B7C, U+2B7A RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW WITH
645 DOUBLE VERTICAL STROKE
646 ⮆ ⮄ U+2B86, U+2B84 RIGHT/LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS
647 ⮊ ⮈ U+2B8A, U+2B88 RIGHT/LEFTWARDS BLACK CIRCLED WHITE ARROW
648 ⮕ ⬅ U+2B95, U+2B05 RIGHT/LEFTWARDS BLACK ARROW
649 ⮚ ⮘ U+2B9A, U+2B98 THREE-D TOP-LIGHTED RIGHT/LEFTWARDS EQUILATERAL
650 ARROWHEAD
651 ⮞ ⮜ U+2B9E, U+2B9C BLACK RIGHT/LEFTWARDS EQUILATERAL ARROWHEAD
652 ⮡ ⮠ U+2BA1, U+2BA0 DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP
653 RIGHT/LEFTWARDS
654 ⮣ ⮢ U+2BA3, U+2BA2 UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP
655 RIGHT/LEFTWARDS
656 ⮩ ⮨ U+2BA9, U+2BA8 BLACK CURVED DOWNWARDS AND RIGHT/LEFTWARDS ARROW
657 ⮫ ⮪ U+2BAB, U+2BAA BLACK CURVED UPWARDS AND RIGHT/LEFTWARDS ARROW
658 ⮱ ⮰ U+2BB1, U+2BB0 RIBBON ARROW DOWN RIGHT/LEFT
659 ⮳ ⮲ U+2BB3, U+2BB2 RIBBON ARROW UP RIGHT/LEFT
660 ⯮ ⯬ U+2BEE, U+2BEC RIGHT/LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE
661 ARROWHEADS
662 ⸂ ⸃ U+2E02, U+2E03 LEFT/RIGHT SUBSTITUTION BRACKET
663 ⸃ ⸂ U+2E03, U+2E02 RIGHT/LEFT SUBSTITUTION BRACKET
664 ⸄ ⸅ U+2E04, U+2E05 LEFT/RIGHT DOTTED SUBSTITUTION BRACKET
665 ⸅ ⸄ U+2E05, U+2E04 RIGHT/LEFT DOTTED SUBSTITUTION BRACKET
666 ⸉ ⸊ U+2E09, U+2E0A LEFT/RIGHT TRANSPOSITION BRACKET
667 ⸊ ⸉ U+2E0A, U+2E09 RIGHT/LEFT TRANSPOSITION BRACKET
668 ⸌ ⸍ U+2E0C, U+2E0D LEFT/RIGHT RAISED OMISSION BRACKET
669 ⸍ ⸌ U+2E0D, U+2E0C RIGHT/LEFT RAISED OMISSION BRACKET
670 ⸑ ⸐ U+2E11, U+2E10 REVERSED FORKED PARAGRAPHOS, FORKED PARAGRAPHOS
671 ⸜ ⸝ U+2E1C, U+2E1D LEFT/RIGHT LOW PARAPHRASE BRACKET
672 ⸝ ⸜ U+2E1D, U+2E1C RIGHT/LEFT LOW PARAPHRASE BRACKET
673 ⸠ ⸡ U+2E20, U+2E21 LEFT/RIGHT VERTICAL BAR WITH QUILL
674 ⸡ ⸠ U+2E21, U+2E20 RIGHT/LEFT VERTICAL BAR WITH QUILL
675 ⸢ ⸣ U+2E22, U+2E23 TOP LEFT/RIGHT HALF BRACKET
676 ⸤ ⸥ U+2E24, U+2E25 BOTTOM LEFT/RIGHT HALF BRACKET
677 ⸦ ⸧ U+2E26, U+2E27 LEFT/RIGHT SIDEWAYS U BRACKET
678 ⸨ ⸩ U+2E28, U+2E29 LEFT/RIGHT DOUBLE PARENTHESIS
679 ⸶ ⸷ U+2E36, U+2E37 DAGGER WITH LEFT/RIGHT GUARD
680 ⹂ „ U+2E42, U+201E DOUBLE LOW-REVERSED-9 QUOTATION MARK, DOUBLE
681 LOW-9 QUOTATION MARK
682 ⹕ ⹖ U+2E55, U+2E56 LEFT/RIGHT SQUARE BRACKET WITH STROKE
683 ⹗ ⹘ U+2E57, U+2E58 LEFT/RIGHT SQUARE BRACKET WITH DOUBLE STROKE
684 ⹙ ⹚ U+2E59, U+2E5A TOP HALF LEFT/RIGHT PARENTHESIS
685 ⹛ ⹜ U+2E5B, U+2E5C BOTTOM HALF LEFT/RIGHT PARENTHESIS
686 〈 〉 U+3008, U+3009 LEFT/RIGHT ANGLE BRACKET
687 《 》 U+300A, U+300B LEFT/RIGHT DOUBLE ANGLE BRACKET
688 「 」 U+300C, U+300D LEFT/RIGHT CORNER BRACKET
689 『 』 U+300E, U+300F LEFT/RIGHT WHITE CORNER BRACKET
690 【 】 U+3010, U+3011 LEFT/RIGHT BLACK LENTICULAR BRACKET
691 〔 〕 U+3014, U+3015 LEFT/RIGHT TORTOISE SHELL BRACKET
692 〖 〗 U+3016, U+3017 LEFT/RIGHT WHITE LENTICULAR BRACKET
693 〘 〙 U+3018, U+3019 LEFT/RIGHT WHITE TORTOISE SHELL BRACKET
694 〚 〛 U+301A, U+301B LEFT/RIGHT WHITE SQUARE BRACKET
695 〝 〞 U+301D, U+301E REVERSED DOUBLE PRIME QUOTATION MARK, DOUBLE
696 PRIME QUOTATION MARK
697 ꧁ ꧂ U+A9C1, U+A9C2 JAVANESE LEFT/RIGHT RERENGGAN
698 ﴾ ﴿ U+FD3E, U+FD3F ORNATE LEFT/RIGHT PARENTHESIS
699 ﹙ ﹚ U+FE59, U+FE5A SMALL LEFT/RIGHT PARENTHESIS
700 ﹛ ﹜ U+FE5B, U+FE5C SMALL LEFT/RIGHT CURLY BRACKET
701 ﹝ ﹞ U+FE5D, U+FE5E SMALL LEFT/RIGHT TORTOISE SHELL BRACKET
702 ﹤ ﹥ U+FE64, U+FE65 SMALL LESS-THAN/GREATER-THAN SIGN
703 ( ) U+FF08, U+FF09 FULLWIDTH LEFT/RIGHT PARENTHESIS
704 < > U+FF1C, U+FF1E FULLWIDTH LESS-THAN/GREATER-THAN SIGN
705 [ ] U+FF3B, U+FF3D FULLWIDTH LEFT/RIGHT SQUARE BRACKET
706 { } U+FF5B, U+FF5D FULLWIDTH LEFT/RIGHT CURLY BRACKET
707 ⦅ ⦆ U+FF5F, U+FF60 FULLWIDTH LEFT/RIGHT WHITE PARENTHESIS
708 「 」 U+FF62, U+FF63 HALFWIDTH LEFT/RIGHT CORNER BRACKET
709 → ← U+FFEB, U+FFE9 HALFWIDTH RIGHT/LEFTWARDS ARROW
710 𝄃 𝄂 U+1D103, U+1D102 MUSICAL SYMBOL REVERSE FINAL BARLINE, MUSICAL
711 SYMBOL FINAL BARLINE
712 𝄆 𝄇 U+1D106, U+1D107 MUSICAL SYMBOL LEFT/RIGHT REPEAT SIGN
713 👉 👈 U+1F449, U+1F448 WHITE RIGHT/LEFT POINTING BACKHAND INDEX
714 🔈 🕨 U+1F508, U+1F568 SPEAKER, RIGHT SPEAKER
715 🔉 🕩 U+1F509, U+1F569 SPEAKER WITH ONE SOUND WAVE, RIGHT SPEAKER WITH
716 ONE SOUND WAVE
717 🔊 🕪 U+1F50A, U+1F56A SPEAKER WITH THREE SOUND WAVES, RIGHT SPEAKER
718 WITH THREE SOUND WAVES
719 🕻 🕽 U+1F57B, U+1F57D LEFT/RIGHT HAND TELEPHONE RECEIVER
720 🖙 🖘 U+1F599, U+1F598 SIDEWAYS WHITE RIGHT/LEFT POINTING INDEX
721 🖛 🖚 U+1F59B, U+1F59A SIDEWAYS BLACK RIGHT/LEFT POINTING INDEX
722 🖝 🖜 U+1F59D, U+1F59C BLACK RIGHT/LEFT POINTING BACKHAND INDEX
723 🗦 🗧 U+1F5E6, U+1F5E7 THREE RAYS LEFT/RIGHT
724 🠂 🠀 U+1F802, U+1F800 RIGHT/LEFTWARDS ARROW WITH SMALL TRIANGLE
725 ARROWHEAD
726 🠆 🠄 U+1F806, U+1F804 RIGHT/LEFTWARDS ARROW WITH MEDIUM TRIANGLE
727 ARROWHEAD
728 🠊 🠈 U+1F80A, U+1F808 RIGHT/LEFTWARDS ARROW WITH LARGE TRIANGLE
729 ARROWHEAD
730 🠒 🠐 U+1F812, U+1F810 RIGHT/LEFTWARDS ARROW WITH SMALL EQUILATERAL
731 ARROWHEAD
732 🠖 🠔 U+1F816, U+1F814 RIGHT/LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD
733 🠚 🠘 U+1F81A, U+1F818 HEAVY RIGHT/LEFTWARDS ARROW WITH EQUILATERAL
734 ARROWHEAD
735 🠞 🠜 U+1F81E, U+1F81C HEAVY RIGHT/LEFTWARDS ARROW WITH LARGE
736 EQUILATERAL ARROWHEAD
737 🠢 🠠 U+1F822, U+1F820 RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW WITH
738 NARROW SHAFT
739 🠦 🠤 U+1F826, U+1F824 RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW WITH
740 MEDIUM SHAFT
741 🠪 🠨 U+1F82A, U+1F828 RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD
742 SHAFT
743 🠮 🠬 U+1F82E, U+1F82C RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW WITH
744 HEAVY SHAFT
745 🠲 🠰 U+1F832, U+1F830 RIGHT/LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY
746 HEAVY SHAFT
747 🠶 🠴 U+1F836, U+1F834 RIGHT/LEFTWARDS FINGER-POST ARROW
748 🠺 🠸 U+1F83A, U+1F838 RIGHT/LEFTWARDS SQUARED ARROW
749 🠾 🠼 U+1F83E, U+1F83C RIGHT/LEFTWARDS COMPRESSED ARROW
750 🡂 🡀 U+1F842, U+1F840 RIGHT/LEFTWARDS HEAVY COMPRESSED ARROW
751 🡆 🡄 U+1F846, U+1F844 RIGHT/LEFTWARDS HEAVY ARROW
752 🡒 🡐 U+1F852, U+1F850 RIGHT/LEFTWARDS SANS-SERIF ARROW
753 🡢 🡠 U+1F862, U+1F860 WIDE-HEADED RIGHT/LEFTWARDS LIGHT BARB ARROW
754 🡪 🡨 U+1F86A, U+1F868 WIDE-HEADED RIGHT/LEFTWARDS BARB ARROW
755 🡲 🡰 U+1F872, U+1F870 WIDE-HEADED RIGHT/LEFTWARDS MEDIUM BARB ARROW
756 🡺 🡸 U+1F87A, U+1F878 WIDE-HEADED RIGHT/LEFTWARDS HEAVY BARB ARROW
757 🢂 🢀 U+1F882, U+1F880 WIDE-HEADED RIGHT/LEFTWARDS VERY HEAVY BARB
758 ARROW
759 🢒 🢐 U+1F892, U+1F890 RIGHT/LEFTWARDS TRIANGLE ARROWHEAD
760 🢖 🢔 U+1F896, U+1F894 RIGHT/LEFTWARDS WHITE ARROW WITHIN TRIANGLE
761 ARROWHEAD
762 🢚 🢘 U+1F89A, U+1F898 RIGHT/LEFTWARDS ARROW WITH NOTCHED TAIL
763 🢡 🢠 U+1F8A1, U+1F8A0 RIGHTWARDS BOTTOM SHADED WHITE ARROW,
764 LEFTWARDS BOTTOM-SHADED WHITE ARROW
765 🢣 🢢 U+1F8A3, U+1F8A2 RIGHT/LEFTWARDS TOP SHADED WHITE ARROW
766 🢥 🢦 U+1F8A5, U+1F8A6 RIGHT/LEFTWARDS RIGHT-SHADED WHITE ARROW
767 🢧 🢤 U+1F8A7, U+1F8A4 RIGHT/LEFTWARDS LEFT-SHADED WHITE ARROW
768 🢩 🢨 U+1F8A9, U+1F8A8 RIGHT/LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW
769 🢫 🢪 U+1F8AB, U+1F8AA RIGHT/LEFTWARDS FRONT-TILTED SHADOWED WHITE
770 ARROW
771
772 The 'module_true' feature
773 This feature removes the need to return a true value at the end of a
774 module loaded with "require" or "use". Any errors during compilation
775 will cause failures, but reaching the end of the module when this
776 feature is in effect will prevent "perl" from throwing an exception
777 that the module "did not return a true value".
778
779 The 'class' feature
780 WARNING: This feature is still experimental and the implementation may
781 change or be removed in future versions of Perl. For this reason, Perl
782 will warn when you use the feature, unless you have explicitly disabled
783 the warning:
784
785 no warnings "experimental::class";
786
787 This feature enables the "class" block syntax and other associated
788 keywords which implement the "new" object system, previously codenamed
789 "Corinna".
790
792 It's possible to load multiple features together, using a feature
793 bundle. The name of a feature bundle is prefixed with a colon, to
794 distinguish it from an actual feature.
795
796 use feature ":5.10";
797
798 The following feature bundles are available:
799
800 bundle features included
801 --------- -----------------
802 :default indirect multidimensional
803 bareword_filehandles
804
805 :5.10 bareword_filehandles indirect
806 multidimensional say state switch
807
808 :5.12 bareword_filehandles indirect
809 multidimensional say state switch
810 unicode_strings
811
812 :5.14 bareword_filehandles indirect
813 multidimensional say state switch
814 unicode_strings
815
816 :5.16 bareword_filehandles current_sub evalbytes
817 fc indirect multidimensional say state
818 switch unicode_eval unicode_strings
819
820 :5.18 bareword_filehandles current_sub evalbytes
821 fc indirect multidimensional say state
822 switch unicode_eval unicode_strings
823
824 :5.20 bareword_filehandles current_sub evalbytes
825 fc indirect multidimensional say state
826 switch unicode_eval unicode_strings
827
828 :5.22 bareword_filehandles current_sub evalbytes
829 fc indirect multidimensional say state
830 switch unicode_eval unicode_strings
831
832 :5.24 bareword_filehandles current_sub evalbytes
833 fc indirect multidimensional postderef_qq
834 say state switch unicode_eval
835 unicode_strings
836
837 :5.26 bareword_filehandles current_sub evalbytes
838 fc indirect multidimensional postderef_qq
839 say state switch unicode_eval
840 unicode_strings
841
842 :5.28 bareword_filehandles bitwise current_sub
843 evalbytes fc indirect multidimensional
844 postderef_qq say state switch unicode_eval
845 unicode_strings
846
847 :5.30 bareword_filehandles bitwise current_sub
848 evalbytes fc indirect multidimensional
849 postderef_qq say state switch unicode_eval
850 unicode_strings
851
852 :5.32 bareword_filehandles bitwise current_sub
853 evalbytes fc indirect multidimensional
854 postderef_qq say state switch unicode_eval
855 unicode_strings
856
857 :5.34 bareword_filehandles bitwise current_sub
858 evalbytes fc indirect multidimensional
859 postderef_qq say state switch unicode_eval
860 unicode_strings
861
862 :5.36 bareword_filehandles bitwise current_sub
863 evalbytes fc isa postderef_qq say signatures
864 state unicode_eval unicode_strings
865
866 :5.38 bitwise current_sub evalbytes fc isa
867 module_true postderef_qq say signatures
868 state unicode_eval unicode_strings
869
870 The ":default" bundle represents the feature set that is enabled before
871 any "use feature" or "no feature" declaration.
872
873 Specifying sub-versions such as the 0 in 5.14.0 in feature bundles has
874 no effect. Feature bundles are guaranteed to be the same for all sub-
875 versions.
876
877 use feature ":5.14.0"; # same as ":5.14"
878 use feature ":5.14.1"; # same as ":5.14"
879
881 Instead of loading feature bundles by name, it is easier to let Perl do
882 implicit loading of a feature bundle for you.
883
884 There are two ways to load the "feature" pragma implicitly:
885
886 • By using the "-E" switch on the Perl command-line instead of "-e".
887 That will enable the feature bundle for that version of Perl in the
888 main compilation unit (that is, the one-liner that follows "-E").
889
890 • By explicitly requiring a minimum Perl version number for your
891 program, with the "use VERSION" construct. That is,
892
893 use v5.36.0;
894
895 will do an implicit
896
897 no feature ':all';
898 use feature ':5.36';
899
900 and so on. Note how the trailing sub-version is automatically
901 stripped from the version.
902
903 But to avoid portability warnings (see "use" in perlfunc), you may
904 prefer:
905
906 use 5.036;
907
908 with the same effect.
909
910 If the required version is older than Perl 5.10, the ":default"
911 feature bundle is automatically loaded instead.
912
913 Unlike "use feature ":5.12"", saying "use v5.12" (or any higher
914 version) also does the equivalent of "use strict"; see "use" in
915 perlfunc for details.
916
918 "feature" provides some simple APIs to check which features are
919 enabled.
920
921 These functions cannot be imported and must be called by their fully
922 qualified names. If you don't otherwise need to set a feature you will
923 need to ensure "feature" is loaded with:
924
925 use feature ();
926
927 feature_enabled($feature)
928 feature_enabled($feature, $depth)
929 package MyStandardEnforcer;
930 use feature ();
931 use Carp "croak";
932 sub import {
933 croak "disable indirect!" if feature::feature_enabled("indirect");
934 }
935
936 Test whether a named feature is enabled at a given level in the
937 call stack, returning a true value if it is. $depth defaults to 1,
938 which checks the scope that called the scope calling
939 feature::feature_enabled().
940
941 croaks for an unknown feature name.
942
943 features_enabled()
944 features_enabled($depth)
945 package ReportEnabledFeatures;
946 use feature "say";
947 sub import {
948 say STDERR join " ", feature::features_enabled();
949 }
950
951 Returns a list of the features enabled at a given level in the call
952 stack. $depth defaults to 1, which checks the scope that called
953 the scope calling feature::features_enabled().
954
955 feature_bundle()
956 feature_bundle($depth)
957 Returns the feature bundle, if any, selected at a given level in
958 the call stack. $depth defaults to 1, which checks the scope that
959 called the scope calling feature::feature_bundle().
960
961 Returns an undefined value if no feature bundle is selected in the
962 scope.
963
964 The bundle name returned will be for the earliest bundle matching
965 the selected bundle, so:
966
967 use feature ();
968 use v5.12;
969 BEGIN { print feature::feature_bundle(0); }
970
971 will print 5.11.
972
973 This returns internal state, at this point "use v5.12;" sets the
974 feature bundle, but " use feature ":5.12"; " does not set the
975 feature bundle. This may change in a future release of perl.
976
977
978
979perl v5.38.2 2023-11-30 feature(3pm)