exiftool-vendored.exe 12.80.0 → 12.82.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/README.md +6 -0
  2. package/bin/exiftool.exe +0 -0
  3. package/bin/exiftool_files/Changes +44 -0
  4. package/bin/exiftool_files/Licenses_Strawberry_Perl.zip +0 -0
  5. package/bin/exiftool_files/README +3 -2
  6. package/bin/exiftool_files/exiftool.pl +36 -14
  7. package/bin/exiftool_files/lib/Archive/Zip/Archive.pm +399 -65
  8. package/bin/exiftool_files/lib/Archive/Zip/DirectoryMember.pm +1 -1
  9. package/bin/exiftool_files/lib/Archive/Zip/FileMember.pm +1 -1
  10. package/bin/exiftool_files/lib/Archive/Zip/Member.pm +499 -195
  11. package/bin/exiftool_files/lib/Archive/Zip/NewFileMember.pm +1 -1
  12. package/bin/exiftool_files/lib/Archive/Zip/StringMember.pm +2 -2
  13. package/bin/exiftool_files/lib/Archive/Zip/ZipFileMember.pm +79 -20
  14. package/bin/exiftool_files/lib/Archive/Zip.pm +179 -29
  15. package/bin/exiftool_files/lib/AutoLoader.pm +453 -0
  16. package/bin/exiftool_files/lib/B/Deparse.pm +209 -137
  17. package/bin/exiftool_files/lib/B.pm +1 -1
  18. package/bin/exiftool_files/lib/Benchmark.pm +1123 -0
  19. package/bin/exiftool_files/lib/Class/Struct.pm +2 -2
  20. package/bin/exiftool_files/lib/Compress/Raw/Bzip2.pm +14 -9
  21. package/bin/exiftool_files/lib/Compress/Raw/Lzma.pm +982 -0
  22. package/bin/exiftool_files/lib/Compress/Raw/Zlib.pm +91 -86
  23. package/bin/exiftool_files/lib/Compress/Zlib.pm +105 -100
  24. package/bin/exiftool_files/lib/Config.pm +9 -9
  25. package/bin/exiftool_files/lib/Config_heavy.pl +36 -33
  26. package/bin/exiftool_files/lib/CryptX.pm +2 -82
  27. package/bin/exiftool_files/lib/Data/Dumper.pm +2 -2
  28. package/bin/exiftool_files/lib/Digest/MD5.pm +12 -9
  29. package/bin/exiftool_files/lib/Digest/Perl/MD5.pm +1 -191
  30. package/bin/exiftool_files/lib/Digest/base.pm +26 -20
  31. package/bin/exiftool_files/lib/DynaLoader.pm +7 -4
  32. package/bin/exiftool_files/lib/Encode.pm +3 -3
  33. package/bin/exiftool_files/lib/Errno.pm +13 -13
  34. package/bin/exiftool_files/lib/Exporter/Heavy.pm +2 -2
  35. package/bin/exiftool_files/lib/Exporter.pm +1 -1
  36. package/bin/exiftool_files/lib/ExtUtils/Command/MM.pm +323 -0
  37. package/bin/exiftool_files/lib/ExtUtils/Command.pm +382 -0
  38. package/bin/exiftool_files/lib/File/Find.pm +1 -1
  39. package/bin/exiftool_files/lib/File/Glob.pm +1 -8
  40. package/bin/exiftool_files/lib/File/GlobMapper.pm +2 -2
  41. package/bin/exiftool_files/lib/File/HomeDir/Darwin/Carbon.pm +2 -40
  42. package/bin/exiftool_files/lib/File/HomeDir/Darwin/Cocoa.pm +2 -34
  43. package/bin/exiftool_files/lib/File/HomeDir/Darwin.pm +2 -28
  44. package/bin/exiftool_files/lib/File/HomeDir/Driver.pm +2 -35
  45. package/bin/exiftool_files/lib/File/HomeDir/FreeDesktop.pm +2 -62
  46. package/bin/exiftool_files/lib/File/HomeDir/MacOS9.pm +2 -53
  47. package/bin/exiftool_files/lib/File/HomeDir/Test.pm +2 -43
  48. package/bin/exiftool_files/lib/File/HomeDir/Unix.pm +2 -53
  49. package/bin/exiftool_files/lib/File/HomeDir/Windows.pm +2 -69
  50. package/bin/exiftool_files/lib/File/HomeDir.pm +5 -416
  51. package/bin/exiftool_files/lib/File/Path.pm +3 -3
  52. package/bin/exiftool_files/lib/File/Spec/Win32.pm +2 -2
  53. package/bin/exiftool_files/lib/File/Temp.pm +70 -35
  54. package/bin/exiftool_files/lib/File/Which.pm +1 -240
  55. package/bin/exiftool_files/lib/File/stat.pm +3 -2
  56. package/bin/exiftool_files/lib/IO/Compress/Adapter/Bzip2.pm +16 -17
  57. package/bin/exiftool_files/lib/IO/Compress/Adapter/Deflate.pm +19 -20
  58. package/bin/exiftool_files/lib/IO/Compress/Base/Common.pm +5 -5
  59. package/bin/exiftool_files/lib/IO/Compress/Base.pm +35 -26
  60. package/bin/exiftool_files/lib/IO/Compress/Brotli.pm +159 -0
  61. package/bin/exiftool_files/lib/IO/Compress/Bzip2.pm +50 -25
  62. package/bin/exiftool_files/lib/IO/Compress/Gzip/Constants.pm +6 -6
  63. package/bin/exiftool_files/lib/IO/Compress/Gzip.pm +58 -32
  64. package/bin/exiftool_files/lib/IO/Compress/RawDeflate.pm +63 -38
  65. package/bin/exiftool_files/lib/IO/Compress/Zlib/Extra.pm +20 -20
  66. package/bin/exiftool_files/lib/IO/Dir.pm +1 -1
  67. package/bin/exiftool_files/lib/IO/File.pm +1 -1
  68. package/bin/exiftool_files/lib/IO/Handle.pm +1 -21
  69. package/bin/exiftool_files/lib/IO/Pipe.pm +1 -1
  70. package/bin/exiftool_files/lib/IO/Seekable.pm +1 -1
  71. package/bin/exiftool_files/lib/IO/Select.pm +16 -2
  72. package/bin/exiftool_files/lib/IO/Socket/INET.pm +14 -9
  73. package/bin/exiftool_files/lib/IO/Socket/UNIX.pm +17 -1
  74. package/bin/exiftool_files/lib/IO/Socket.pm +474 -126
  75. package/bin/exiftool_files/lib/IO/String.pm +425 -0
  76. package/bin/exiftool_files/lib/IO/Uncompress/Adapter/Inflate.pm +13 -14
  77. package/bin/exiftool_files/lib/IO/Uncompress/Base.pm +142 -132
  78. package/bin/exiftool_files/lib/IO/Uncompress/Brotli.pm +119 -0
  79. package/bin/exiftool_files/lib/IO/Uncompress/Gunzip.pm +43 -37
  80. package/bin/exiftool_files/lib/IO/Uncompress/RawInflate.pm +49 -43
  81. package/bin/exiftool_files/lib/IO.pm +2 -2
  82. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +44 -31
  83. package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +2 -2
  84. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +20 -7
  85. package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +543 -0
  86. package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +332 -149
  87. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +9 -4
  88. package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +32 -4
  89. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +2 -2
  90. package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
  91. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +331 -22
  92. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +55 -1
  93. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -0
  94. package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +21 -3
  95. package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +3 -3
  96. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +40 -24
  97. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +61 -30
  98. package/bin/exiftool_files/lib/Image/ExifTool/README +2 -0
  99. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +1 -1
  100. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4815 -4775
  101. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +931 -617
  102. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +30 -8
  103. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +10 -4
  104. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +4 -2
  105. package/bin/exiftool_files/lib/Image/ExifTool.pm +77 -41
  106. package/bin/exiftool_files/lib/Image/ExifTool.pod +24 -11
  107. package/bin/exiftool_files/lib/List/Util.pm +97 -8
  108. package/bin/exiftool_files/lib/MIME/Base64.pm +5 -5
  109. package/bin/exiftool_files/lib/MIME/Charset/_Compat.pm +106 -0
  110. package/bin/exiftool_files/lib/MIME/Charset.pm +1303 -0
  111. package/bin/exiftool_files/lib/Math/BigFloat.pm +444 -27
  112. package/bin/exiftool_files/lib/Math/BigInt/Calc.pm +296 -313
  113. package/bin/exiftool_files/lib/Math/BigInt/FastCalc.pm +1 -1
  114. package/bin/exiftool_files/lib/Math/BigInt/GMP.pm +2 -115
  115. package/bin/exiftool_files/lib/Math/BigInt/LTM.pm +2 -24
  116. package/bin/exiftool_files/lib/Math/BigInt/Lib.pm +61 -32
  117. package/bin/exiftool_files/lib/Math/BigInt.pm +292 -107
  118. package/bin/exiftool_files/lib/POSIX.pm +1 -1
  119. package/bin/exiftool_files/lib/PerlIO/scalar.pm +41 -0
  120. package/bin/exiftool_files/lib/PerlIO.pm +397 -0
  121. package/bin/exiftool_files/lib/Portable/CPAN.pm +94 -94
  122. package/bin/exiftool_files/lib/Portable/Config.pm +94 -94
  123. package/bin/exiftool_files/lib/Portable/FileSpec.pm +180 -180
  124. package/bin/exiftool_files/lib/Portable/HomeDir.pm +110 -110
  125. package/bin/exiftool_files/lib/Portable/LoadYaml.pm +430 -430
  126. package/bin/exiftool_files/lib/Portable/minicpan.pm +55 -55
  127. package/bin/exiftool_files/lib/Portable.pm +246 -320
  128. package/bin/exiftool_files/lib/Scalar/Util.pm +9 -4
  129. package/bin/exiftool_files/lib/Socket.pm +16 -12
  130. package/bin/exiftool_files/lib/Storable.pm +1444 -1441
  131. package/bin/exiftool_files/lib/TAP/Base.pm +133 -0
  132. package/bin/exiftool_files/lib/TAP/Formatter/Base.pm +467 -0
  133. package/bin/exiftool_files/lib/TAP/Formatter/Color.pm +116 -0
  134. package/bin/exiftool_files/lib/TAP/Formatter/Console/ParallelSession.pm +201 -0
  135. package/bin/exiftool_files/lib/TAP/Formatter/Console/Session.pm +205 -0
  136. package/bin/exiftool_files/lib/TAP/Formatter/Console.pm +100 -0
  137. package/bin/exiftool_files/lib/TAP/Formatter/File/Session.pm +95 -0
  138. package/bin/exiftool_files/lib/TAP/Formatter/File.pm +56 -0
  139. package/bin/exiftool_files/lib/TAP/Formatter/Session.pm +220 -0
  140. package/bin/exiftool_files/lib/TAP/Harness/Beyond.pod +426 -0
  141. package/bin/exiftool_files/lib/TAP/Harness/Env.pm +215 -0
  142. package/bin/exiftool_files/lib/TAP/Harness.pm +1054 -0
  143. package/bin/exiftool_files/lib/TAP/Object.pm +155 -0
  144. package/bin/exiftool_files/lib/TAP/Parser/Aggregator.pm +414 -0
  145. package/bin/exiftool_files/lib/TAP/Parser/Grammar.pm +584 -0
  146. package/bin/exiftool_files/lib/TAP/Parser/Iterator/Array.pm +100 -0
  147. package/bin/exiftool_files/lib/TAP/Parser/Iterator/Process.pm +378 -0
  148. package/bin/exiftool_files/lib/TAP/Parser/Iterator/Stream.pm +116 -0
  149. package/bin/exiftool_files/lib/TAP/Parser/Iterator.pm +162 -0
  150. package/bin/exiftool_files/lib/TAP/Parser/IteratorFactory.pm +339 -0
  151. package/bin/exiftool_files/lib/TAP/Parser/Multiplexer.pm +194 -0
  152. package/bin/exiftool_files/lib/TAP/Parser/Result/Bailout.pm +62 -0
  153. package/bin/exiftool_files/lib/TAP/Parser/Result/Comment.pm +60 -0
  154. package/bin/exiftool_files/lib/TAP/Parser/Result/Plan.pm +119 -0
  155. package/bin/exiftool_files/lib/TAP/Parser/Result/Pragma.pm +62 -0
  156. package/bin/exiftool_files/lib/TAP/Parser/Result/Test.pm +271 -0
  157. package/bin/exiftool_files/lib/TAP/Parser/Result/Unknown.pm +48 -0
  158. package/bin/exiftool_files/lib/TAP/Parser/Result/Version.pm +62 -0
  159. package/bin/exiftool_files/lib/TAP/Parser/Result/YAML.pm +61 -0
  160. package/bin/exiftool_files/lib/TAP/Parser/Result.pm +297 -0
  161. package/bin/exiftool_files/lib/TAP/Parser/ResultFactory.pm +183 -0
  162. package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Job.pm +127 -0
  163. package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Spinner.pm +61 -0
  164. package/bin/exiftool_files/lib/TAP/Parser/Scheduler.pm +448 -0
  165. package/bin/exiftool_files/lib/TAP/Parser/Source.pm +381 -0
  166. package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Executable.pm +184 -0
  167. package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/File.pm +136 -0
  168. package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Handle.pm +124 -0
  169. package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Perl.pm +370 -0
  170. package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/RawTAP.pm +130 -0
  171. package/bin/exiftool_files/lib/TAP/Parser/SourceHandler.pm +191 -0
  172. package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Reader.pm +332 -0
  173. package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Writer.pm +254 -0
  174. package/bin/exiftool_files/lib/TAP/Parser.pm +1931 -0
  175. package/bin/exiftool_files/lib/Test/Builder/Formatter.pm +107 -0
  176. package/bin/exiftool_files/lib/Test/Builder/IO/Scalar.pm +659 -0
  177. package/bin/exiftool_files/lib/Test/Builder/Module.pm +182 -0
  178. package/bin/exiftool_files/lib/Test/Builder/Tester/Color.pm +51 -0
  179. package/bin/exiftool_files/lib/Test/Builder/Tester.pm +675 -0
  180. package/bin/exiftool_files/lib/Test/Builder/TodoDiag.pm +68 -0
  181. package/bin/exiftool_files/lib/Test/Builder.pm +2653 -0
  182. package/bin/exiftool_files/lib/Test/Harness.pm +618 -0
  183. package/bin/exiftool_files/lib/Test/More.pm +1997 -0
  184. package/bin/exiftool_files/lib/Test/Simple.pm +220 -0
  185. package/bin/exiftool_files/lib/Test/Tester/Capture.pm +241 -0
  186. package/bin/exiftool_files/lib/Test/Tester/CaptureRunner.pm +79 -0
  187. package/bin/exiftool_files/lib/Test/Tester/Delegate.pm +45 -0
  188. package/bin/exiftool_files/lib/Test/Tester.pm +695 -0
  189. package/bin/exiftool_files/lib/Test/Tutorial.pod +618 -0
  190. package/bin/exiftool_files/lib/Test/use/ok.pm +64 -0
  191. package/bin/exiftool_files/lib/Text/ParseWords.pm +303 -0
  192. package/bin/exiftool_files/lib/Tie/StdHandle.pm +2 -2
  193. package/bin/exiftool_files/lib/Time/HiRes.pm +73 -68
  194. package/bin/exiftool_files/lib/Time/Local.pm +82 -35
  195. package/bin/exiftool_files/lib/Time/Piece.pm +19 -4
  196. package/bin/exiftool_files/lib/Time/Seconds.pm +1 -1
  197. package/bin/exiftool_files/lib/UNIVERSAL.pm +203 -0
  198. package/bin/exiftool_files/lib/Unicode/GCString.pm +60 -0
  199. package/bin/exiftool_files/lib/Unicode/LineBreak/Constants.pm +68 -0
  200. package/bin/exiftool_files/lib/Unicode/LineBreak.pm +248 -0
  201. package/bin/exiftool_files/lib/Win32/API/Struct.pm +1 -177
  202. package/bin/exiftool_files/lib/Win32/API/Type.pm +1 -100
  203. package/bin/exiftool_files/lib/Win32/API.pm +1 -830
  204. package/bin/exiftool_files/lib/Win32/FindFile.pm +2 -123
  205. package/bin/exiftool_files/lib/Win32.pm +213 -89
  206. package/bin/exiftool_files/lib/Win32API/File.pm +1 -1
  207. package/bin/exiftool_files/lib/auto/B/B.xs.dll +0 -0
  208. package/bin/exiftool_files/lib/auto/Compress/Raw/Bzip2/Bzip2.xs.dll +0 -0
  209. package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/Lzma.xs.dll +0 -0
  210. package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/autosplit.ix +3 -0
  211. package/bin/exiftool_files/lib/auto/Compress/Raw/Zlib/Zlib.xs.dll +0 -0
  212. package/bin/exiftool_files/lib/auto/CryptX/CryptX.xs.dll +0 -0
  213. package/bin/exiftool_files/lib/auto/Cwd/Cwd.xs.dll +0 -0
  214. package/bin/exiftool_files/lib/auto/Data/Dumper/Dumper.xs.dll +0 -0
  215. package/bin/exiftool_files/lib/auto/Digest/MD5/MD5.xs.dll +0 -0
  216. package/bin/exiftool_files/lib/auto/Digest/SHA/SHA.xs.dll +0 -0
  217. package/bin/exiftool_files/lib/auto/Encode/Encode.xs.dll +0 -0
  218. package/bin/exiftool_files/lib/auto/Fcntl/Fcntl.xs.dll +0 -0
  219. package/bin/exiftool_files/lib/auto/File/Glob/Glob.xs.dll +0 -0
  220. package/bin/exiftool_files/lib/auto/IO/Compress/Brotli/Brotli.xs.dll +0 -0
  221. package/bin/exiftool_files/lib/auto/IO/IO.xs.dll +0 -0
  222. package/bin/exiftool_files/lib/auto/List/Util/Util.xs.dll +0 -0
  223. package/bin/exiftool_files/lib/auto/MIME/Base64/Base64.xs.dll +0 -0
  224. package/bin/exiftool_files/lib/auto/Math/BigInt/FastCalc/FastCalc.xs.dll +0 -0
  225. package/bin/exiftool_files/lib/auto/Math/BigInt/GMP/GMP.xs.dll +0 -0
  226. package/bin/exiftool_files/lib/auto/POSIX/POSIX.xs.dll +0 -0
  227. package/bin/exiftool_files/lib/auto/PerlIO/scalar/scalar.xs.dll +0 -0
  228. package/bin/exiftool_files/lib/auto/Socket/Socket.xs.dll +0 -0
  229. package/bin/exiftool_files/lib/auto/Storable/Storable.xs.dll +0 -0
  230. package/bin/exiftool_files/lib/auto/Time/HiRes/HiRes.xs.dll +0 -0
  231. package/bin/exiftool_files/lib/auto/Time/Piece/Piece.xs.dll +0 -0
  232. package/bin/exiftool_files/lib/auto/Unicode/LineBreak/LineBreak.xs.dll +0 -0
  233. package/bin/exiftool_files/lib/auto/Win32/API/API.xs.dll +0 -0
  234. package/bin/exiftool_files/lib/auto/Win32/FindFile/FindFile.xs.dll +0 -0
  235. package/bin/exiftool_files/lib/auto/Win32/Win32.xs.dll +0 -0
  236. package/bin/exiftool_files/lib/auto/Win32API/File/File.xs.dll +0 -0
  237. package/bin/exiftool_files/lib/auto/mro/mro.xs.dll +0 -0
  238. package/bin/exiftool_files/lib/auto/re/re.xs.dll +0 -0
  239. package/bin/exiftool_files/lib/feature.pm +49 -17
  240. package/bin/exiftool_files/lib/mro.pm +4 -20
  241. package/bin/exiftool_files/lib/overload.pm +15 -15
  242. package/bin/exiftool_files/lib/parent.pm +10 -2
  243. package/bin/exiftool_files/lib/re.pm +91 -33
  244. package/bin/exiftool_files/lib/warnings.pm +17 -6
  245. package/bin/exiftool_files/libgcc_s_seh-1.dll +0 -0
  246. package/bin/exiftool_files/liblzma-5__.dll +0 -0
  247. package/bin/exiftool_files/libstdc++-6.dll +0 -0
  248. package/bin/exiftool_files/libwinpthread-1.dll +0 -0
  249. package/bin/exiftool_files/perl.exe +0 -0
  250. package/bin/exiftool_files/perl532.dll +0 -0
  251. package/package.json +7 -5
  252. package/bin/exiftool_files/libgcc_s_dw2-1.dll +0 -0
  253. package/bin/exiftool_files/perl530.dll +0 -0
@@ -5,14 +5,16 @@
5
5
 
6
6
  package feature;
7
7
 
8
- our $VERSION = '1.54';
8
+ our $VERSION = '1.58';
9
9
 
10
10
  our %feature = (
11
11
  fc => 'feature_fc',
12
+ isa => 'feature_isa',
12
13
  say => 'feature_say',
13
14
  state => 'feature_state',
14
15
  switch => 'feature_switch',
15
16
  bitwise => 'feature_bitwise',
17
+ indirect => 'feature_indirect',
16
18
  evalbytes => 'feature_evalbytes',
17
19
  signatures => 'feature_signatures',
18
20
  current_sub => 'feature___SUB__',
@@ -24,13 +26,13 @@ our %feature = (
24
26
  );
25
27
 
26
28
  our %feature_bundle = (
27
- "5.10" => [qw(say state switch)],
28
- "5.11" => [qw(say state switch unicode_strings)],
29
- "5.15" => [qw(current_sub evalbytes fc say state switch unicode_eval unicode_strings)],
30
- "5.23" => [qw(current_sub evalbytes fc postderef_qq say state switch unicode_eval unicode_strings)],
31
- "5.27" => [qw(bitwise current_sub evalbytes fc postderef_qq say state switch unicode_eval unicode_strings)],
32
- "all" => [qw(bitwise current_sub declared_refs evalbytes fc postderef_qq refaliasing say signatures state switch unicode_eval unicode_strings)],
33
- "default" => [qw()],
29
+ "5.10" => [qw(indirect say state switch)],
30
+ "5.11" => [qw(indirect say state switch unicode_strings)],
31
+ "5.15" => [qw(current_sub evalbytes fc indirect say state switch unicode_eval unicode_strings)],
32
+ "5.23" => [qw(current_sub evalbytes fc indirect postderef_qq say state switch unicode_eval unicode_strings)],
33
+ "5.27" => [qw(bitwise current_sub evalbytes fc indirect postderef_qq say state switch unicode_eval unicode_strings)],
34
+ "all" => [qw(bitwise current_sub declared_refs evalbytes fc indirect isa postderef_qq refaliasing say signatures state switch unicode_eval unicode_strings)],
35
+ "default" => [qw(indirect)],
34
36
  );
35
37
 
36
38
  $feature_bundle{"5.12"} = $feature_bundle{"5.11"};
@@ -49,6 +51,8 @@ $feature_bundle{"5.26"} = $feature_bundle{"5.23"};
49
51
  $feature_bundle{"5.28"} = $feature_bundle{"5.27"};
50
52
  $feature_bundle{"5.29"} = $feature_bundle{"5.27"};
51
53
  $feature_bundle{"5.30"} = $feature_bundle{"5.27"};
54
+ $feature_bundle{"5.31"} = $feature_bundle{"5.27"};
55
+ $feature_bundle{"5.32"} = $feature_bundle{"5.27"};
52
56
  $feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
53
57
  my %noops = (
54
58
  postderef => 1,
@@ -348,6 +352,26 @@ Reference to a Variable> for examples.
348
352
 
349
353
  This feature is available from Perl 5.26 onwards.
350
354
 
355
+ =head2 The 'isa' feature
356
+
357
+ This allows the use of the C<isa> infix operator, which tests whether the
358
+ scalar given by the left operand is an object of the class given by the
359
+ right operand. See L<perlop/Class Instance Operator> for more details.
360
+
361
+ This feature is available from Perl 5.32 onwards.
362
+
363
+ =head2 The 'indirect' feature
364
+
365
+ This feature allows the use of L<indirect object
366
+ syntax|perlobj/Indirect Object Syntax> for method calls, e.g. C<new
367
+ Foo 1, 2;>. It is enabled by default, but can be turned off to
368
+ disallow indirect object syntax.
369
+
370
+ This feature is available under this name from Perl 5.32 onwards. In
371
+ previous versions, it was simply on all the time. To disallow (or
372
+ warn on) indirect object syntax on older Perls, see the L<indirect>
373
+ CPAN module.
374
+
351
375
  =head1 FEATURE BUNDLES
352
376
 
353
377
  It's possible to load multiple features together, using
@@ -360,41 +384,49 @@ The following feature bundles are available:
360
384
 
361
385
  bundle features included
362
386
  --------- -----------------
363
- :default
387
+ :default indirect
364
388
 
365
- :5.10 say state switch
389
+ :5.10 say state switch indirect
366
390
 
367
- :5.12 say state switch unicode_strings
391
+ :5.12 say state switch unicode_strings indirect
368
392
 
369
- :5.14 say state switch unicode_strings
393
+ :5.14 say state switch unicode_strings indirect
370
394
 
371
395
  :5.16 say state switch unicode_strings
372
396
  unicode_eval evalbytes current_sub fc
397
+ indirect
373
398
 
374
399
  :5.18 say state switch unicode_strings
375
400
  unicode_eval evalbytes current_sub fc
401
+ indirect
376
402
 
377
403
  :5.20 say state switch unicode_strings
378
404
  unicode_eval evalbytes current_sub fc
405
+ indirect
379
406
 
380
407
  :5.22 say state switch unicode_strings
381
408
  unicode_eval evalbytes current_sub fc
409
+ indirect
382
410
 
383
411
  :5.24 say state switch unicode_strings
384
412
  unicode_eval evalbytes current_sub fc
385
- postderef_qq
413
+ postderef_qq indirect
386
414
 
387
415
  :5.26 say state switch unicode_strings
388
416
  unicode_eval evalbytes current_sub fc
389
- postderef_qq
417
+ postderef_qq indirect
390
418
 
391
419
  :5.28 say state switch unicode_strings
392
420
  unicode_eval evalbytes current_sub fc
393
- postderef_qq bitwise
421
+ postderef_qq bitwise indirect
394
422
 
395
423
  :5.30 say state switch unicode_strings
396
424
  unicode_eval evalbytes current_sub fc
397
- postderef_qq bitwise
425
+ postderef_qq bitwise indirect
426
+
427
+ :5.32 say state switch unicode_strings
428
+ unicode_eval evalbytes current_sub fc
429
+ postderef_qq bitwise indirect
398
430
 
399
431
  The C<:default> bundle represents the feature set that is enabled before
400
432
  any C<use feature> or C<no feature> declaration.
@@ -479,7 +511,7 @@ sub __common {
479
511
  my $import = shift;
480
512
  my $bundle_number = $^H & $hint_mask;
481
513
  my $features = $bundle_number != $hint_mask
482
- && $feature_bundle{$hint_bundles[$bundle_number >> $hint_shift]};
514
+ && $feature_bundle{$hint_bundles[$bundle_number >> $hint_shift]};
483
515
  if ($features) {
484
516
  # Features are enabled implicitly via bundle hints.
485
517
  # Delete any keys that may be left over from last time.
@@ -12,7 +12,7 @@ use warnings;
12
12
 
13
13
  # mro.pm versions < 1.00 reserved for MRO::Compat
14
14
  # for partial back-compat to 5.[68].x
15
- our $VERSION = '1.22';
15
+ our $VERSION = '1.23';
16
16
 
17
17
  require XSLoader;
18
18
  XSLoader::load('mro');
@@ -276,7 +276,7 @@ The problem exists because the anonymous subroutine being assigned to the
276
276
  C<*Foo::foo> glob will show up in the call stack as being called
277
277
  C<__ANON__> and not C<foo> as you might expect. Since C<next::method> uses
278
278
  C<caller> to find the name of the method it was called in, it will fail in
279
- this case.
279
+ this case.
280
280
 
281
281
  But fear not, there's a simple solution. The module C<Sub::Name> will
282
282
  reach into the perl internals and assign a name to an anonymous subroutine
@@ -312,27 +312,11 @@ works (like C<goto &maybe::next::method>);
312
312
 
313
313
  =back
314
314
 
315
- =head2 Pugs
316
-
317
- The Pugs prototype Perl 6 Object Model uses C3
318
-
319
- =head2 Parrot
320
-
321
- Parrot now uses C3
322
-
323
- =over 4
324
-
325
- =item L<http://use.perl.org/~autrijus/journal/25768>
326
-
327
- =back
328
-
329
- =head2 Python 2.3 MRO related links
315
+ =head2 Python 2.3 MRO
330
316
 
331
317
  =over 4
332
318
 
333
- =item L<http://www.python.org/2.3/mro.html>
334
-
335
- =item L<http://www.python.org/2.2.2/descrintro.html#mro>
319
+ =item L<https://www.python.org/download/releases/2.3/mro/>
336
320
 
337
321
  =back
338
322
 
@@ -1,6 +1,6 @@
1
1
  package overload;
2
2
 
3
- our $VERSION = '1.30';
3
+ our $VERSION = '1.31';
4
4
 
5
5
  %ops = (
6
6
  with_assign => "+ - * / % ** << >> x .",
@@ -211,7 +211,7 @@ To overload built-in functions, see L<perlsub/Overriding Built-in Functions> ins
211
211
  =head3 Declaration
212
212
 
213
213
  Arguments of the C<use overload> directive are (key, value) pairs.
214
- For the full set of legal keys, see L<Overloadable Operations> below.
214
+ For the full set of legal keys, see L</Overloadable Operations> below.
215
215
 
216
216
  Operator implementations (the values) can be subroutines,
217
217
  references to subroutines, or anonymous subroutines
@@ -274,7 +274,7 @@ For example, if C<$x> and C<$y> are C<Number>s:
274
274
 
275
275
  Perl may also use C<minus()> to implement other operators which
276
276
  have not been specified in the C<use overload> directive,
277
- according to the rules for L<Magic Autogeneration> described later.
277
+ according to the rules for L</Magic Autogeneration> described later.
278
278
  For example, the C<use overload> above declared no subroutine
279
279
  for any of the operators C<-->, C<neg> (the overload key for
280
280
  unary minus), or C<-=>. Thus
@@ -300,7 +300,7 @@ only to return the result of the subtraction:
300
300
  Perl takes care of the assignment to $x.
301
301
  In fact, such methods should I<not> modify their operands,
302
302
  even if C<undef> is passed as the third argument
303
- (see L<Overloadable Operations>).
303
+ (see L</Overloadable Operations>).
304
304
 
305
305
  The same is not true of implementations of C<++> and C<-->:
306
306
  these are expected to modify their operand.
@@ -354,7 +354,7 @@ arithmetic metaphor.
354
354
  Note: the preceding paragraph describes what happens when
355
355
  Perl autogenerates the copy constructor for an object based
356
356
  on a scalar.
357
- For other cases, see L<Copy Constructor>.
357
+ For other cases, see L</Copy Constructor>.
358
358
 
359
359
  =head2 Overloadable Operations
360
360
 
@@ -417,7 +417,7 @@ evaluating an expression.
417
417
  &= |= ^= &.= |.= ^.=
418
418
 
419
419
  Simple assignment is not overloadable (the C<'='> key is used
420
- for the L<Copy Constructor>).
420
+ for the L</Copy Constructor>).
421
421
  Perl does have a way to make assignments to an object do whatever
422
422
  you want, but this involves using tie(), not overload -
423
423
  see L<perlfunc/tie> and the L</COOKBOOK> examples below.
@@ -575,7 +575,7 @@ then it will not be called again - avoiding infinite recursion.
575
575
 
576
576
  nomethod fallback =
577
577
 
578
- See L<Special Keys for C<use overload>>.
578
+ See L</Special Keys for C<use overload>>.
579
579
 
580
580
  =back
581
581
 
@@ -663,7 +663,7 @@ C<'+='> and C<'-='> (and similar to C<'.='> and C<'x='> above):
663
663
 
664
664
  Note also that the copy constructor (key C<'='>) may be
665
665
  autogenerated, but only for objects based on scalars.
666
- See L<Copy Constructor>.
666
+ See L</Copy Constructor>.
667
667
 
668
668
  =head3 Minimal Set of Overloaded Operations
669
669
 
@@ -709,7 +709,7 @@ C<'+'>) result in a call
709
709
 
710
710
  catch_all($a, 3, 1, '+')
711
711
 
712
- See L<How Perl Chooses an Operator Implementation>.
712
+ See L</How Perl Chooses an Operator Implementation>.
713
713
 
714
714
  =head3 C<fallback>
715
715
 
@@ -723,7 +723,7 @@ operator.
723
723
 
724
724
  use overload "fallback" => 0, # ... ;
725
725
 
726
- This disables L<Magic Autogeneration>.
726
+ This disables L</Magic Autogeneration>.
727
727
 
728
728
  =item * C<undef>
729
729
 
@@ -737,12 +737,12 @@ autogenerated then, instead of issuing an error message, Perl
737
737
  is allowed to revert to what it would have done for that
738
738
  operator if there had been no C<use overload> directive.
739
739
 
740
- Note: in most cases, particularly the L<Copy Constructor>,
740
+ Note: in most cases, particularly the L</Copy Constructor>,
741
741
  this is unlikely to be appropriate behaviour.
742
742
 
743
743
  =back
744
744
 
745
- See L<How Perl Chooses an Operator Implementation>.
745
+ See L</How Perl Chooses an Operator Implementation>.
746
746
 
747
747
  =head3 Copy Constructor
748
748
 
@@ -890,7 +890,7 @@ on the type of their operands.
890
890
  As there is no way to instruct Perl to treat the operands as, e.g.,
891
891
  numbers instead of strings, the result here may not be what you
892
892
  expect.
893
- See L<BUGS AND PITFALLS>.
893
+ See L</BUGS AND PITFALLS>.
894
894
 
895
895
  =head2 Losing Overloading
896
896
 
@@ -1413,12 +1413,12 @@ the tables of operations, and change the code which fills %subr to
1413
1413
  }
1414
1414
 
1415
1415
  Since subroutines implementing assignment operators are not required
1416
- to modify their operands (see L<Overloadable Operations> above),
1416
+ to modify their operands (see L</Overloadable Operations> above),
1417
1417
  we do not need anything special to make C<+=> and friends work,
1418
1418
  besides adding these operators to %subr and defining a copy
1419
1419
  constructor (needed since Perl has no way to know that the
1420
1420
  implementation of C<'+='> does not mutate the argument -
1421
- see L<Copy Constructor>).
1421
+ see L</Copy Constructor>).
1422
1422
 
1423
1423
  To implement a copy constructor, add C<< '=' => \&cpy >> to C<use overload>
1424
1424
  line, and code (this code assumes that mutators change things one level
@@ -1,7 +1,7 @@
1
1
  package parent;
2
2
  use strict;
3
3
 
4
- our $VERSION = '0.237';
4
+ our $VERSION = '0.238';
5
5
 
6
6
  sub import {
7
7
  my $class = shift;
@@ -99,7 +99,15 @@ that had accumulated in it.
99
99
 
100
100
  =head1 SEE ALSO
101
101
 
102
- L<base>
102
+ =over 4
103
+
104
+ =item L<base>
105
+
106
+ =item L<parent::versioned>
107
+
108
+ A fork of L<parent> that provides version checking in parent class modules.
109
+
110
+ =back
103
111
 
104
112
  =head1 AUTHORS AND CONTRIBUTORS
105
113
 
@@ -4,7 +4,7 @@ package re;
4
4
  use strict;
5
5
  use warnings;
6
6
 
7
- our $VERSION = "0.37";
7
+ our $VERSION = "0.40";
8
8
  our @ISA = qw(Exporter);
9
9
  our @EXPORT_OK = ('regmust',
10
10
  qw(is_regexp regexp_pattern
@@ -54,33 +54,41 @@ sub setcolor {
54
54
  }
55
55
 
56
56
  my %flags = (
57
- COMPILE => 0x0000FF,
58
- PARSE => 0x000001,
59
- OPTIMISE => 0x000002,
60
- TRIEC => 0x000004,
61
- DUMP => 0x000008,
62
- FLAGS => 0x000010,
63
- TEST => 0x000020,
64
-
65
- EXECUTE => 0x00FF00,
66
- INTUIT => 0x000100,
67
- MATCH => 0x000200,
68
- TRIEE => 0x000400,
69
-
70
- EXTRA => 0xFF0000,
71
- TRIEM => 0x010000,
72
- OFFSETS => 0x020000,
73
- OFFSETSDBG => 0x040000,
74
- STATE => 0x080000,
75
- OPTIMISEM => 0x100000,
76
- STACK => 0x280000,
77
- BUFFERS => 0x400000,
78
- GPOS => 0x800000,
57
+ COMPILE => 0x0000FF,
58
+ PARSE => 0x000001,
59
+ OPTIMISE => 0x000002,
60
+ TRIEC => 0x000004,
61
+ DUMP => 0x000008,
62
+ FLAGS => 0x000010,
63
+ TEST => 0x000020,
64
+
65
+ EXECUTE => 0x00FF00,
66
+ INTUIT => 0x000100,
67
+ MATCH => 0x000200,
68
+ TRIEE => 0x000400,
69
+
70
+ EXTRA => 0x3FF0000,
71
+ TRIEM => 0x0010000,
72
+ OFFSETS => 0x0020000,
73
+ OFFSETSDBG => 0x0040000,
74
+ STATE => 0x0080000,
75
+ OPTIMISEM => 0x0100000,
76
+ STACK => 0x0280000,
77
+ BUFFERS => 0x0400000,
78
+ GPOS => 0x0800000,
79
+ DUMP_PRE_OPTIMIZE => 0x1000000,
80
+ WILDCARD => 0x2000000,
79
81
  );
80
- $flags{ALL} = -1 & ~($flags{OFFSETS}|$flags{OFFSETSDBG}|$flags{BUFFERS});
82
+ $flags{ALL} = -1 & ~($flags{OFFSETS}
83
+ |$flags{OFFSETSDBG}
84
+ |$flags{BUFFERS}
85
+ |$flags{DUMP_PRE_OPTIMIZE}
86
+ |$flags{WILDCARD}
87
+ );
81
88
  $flags{All} = $flags{all} = $flags{DUMP} | $flags{EXECUTE};
82
89
  $flags{Extra} = $flags{EXECUTE} | $flags{COMPILE} | $flags{GPOS};
83
- $flags{More} = $flags{MORE} = $flags{All} | $flags{TRIEC} | $flags{TRIEM} | $flags{STATE};
90
+ $flags{More} = $flags{MORE} =
91
+ $flags{All} | $flags{TRIEC} | $flags{TRIEM} | $flags{STATE};
84
92
  $flags{State} = $flags{DUMP} | $flags{EXECUTE} | $flags{STATE};
85
93
  $flags{TRIE} = $flags{DUMP} | $flags{EXECUTE} | $flags{TRIEC};
86
94
 
@@ -113,6 +121,8 @@ sub bits {
113
121
  my $on = shift;
114
122
  my $bits = 0;
115
123
  my $turning_all_off = ! @_ && ! $on;
124
+ my $seen_Debug = 0;
125
+ my $seen_debug = 0;
116
126
  if ($turning_all_off) {
117
127
 
118
128
  # Pretend were called with certain parameters, which are best dealt
@@ -126,8 +136,15 @@ sub bits {
126
136
  foreach my $idx (0..$#_){
127
137
  my $s=$_[$idx];
128
138
  if ($s eq 'Debug' or $s eq 'Debugcolor') {
139
+ if (! $seen_Debug) {
140
+ $seen_Debug = 1;
141
+
142
+ # Reset to nothing, and then add what follows. $seen_Debug
143
+ # allows, though unlikely someone would do it, more than one
144
+ # Debug and flags in the arguments
145
+ ${^RE_DEBUG_FLAGS} = 0;
146
+ }
129
147
  setcolor() if $s =~/color/i;
130
- ${^RE_DEBUG_FLAGS} = 0 unless defined ${^RE_DEBUG_FLAGS};
131
148
  for my $idx ($idx+1..$#_) {
132
149
  if ($flags{$_[$idx]}) {
133
150
  if ($on) {
@@ -144,9 +161,13 @@ sub bits {
144
161
  _load_unload($on ? 1 : ${^RE_DEBUG_FLAGS});
145
162
  last;
146
163
  } elsif ($s eq 'debug' or $s eq 'debugcolor') {
164
+
165
+ # These default flags should be kept in sync with the same values
166
+ # in regcomp.h
167
+ ${^RE_DEBUG_FLAGS} = $flags{'EXECUTE'} | $flags{'DUMP'};
147
168
  setcolor() if $s =~/color/i;
148
169
  _load_unload($on);
149
- last;
170
+ $seen_debug = 1;
150
171
  } elsif (exists $bitmask{$s}) {
151
172
  $bits |= $bitmask{$s};
152
173
  } elsif ($EXPORT_OK{$s}) {
@@ -255,9 +276,15 @@ sub bits {
255
276
  : ($^H &= ~$flags_hint);
256
277
  } else {
257
278
  require Carp;
258
- Carp::carp("Unknown \"re\" subpragma '$s' (known ones are: ",
279
+ if ($seen_debug && defined $flags{$s}) {
280
+ Carp::carp("Use \"Debug\" not \"debug\", to list debug types"
281
+ . " in \"re\". \"$s\" ignored");
282
+ }
283
+ else {
284
+ Carp::carp("Unknown \"re\" subpragma '$s' (known ones are: ",
259
285
  join(', ', map {qq('$_')} 'debug', 'debugcolor', sort keys %bitmask),
260
286
  ")");
287
+ }
261
288
  }
262
289
  }
263
290
 
@@ -396,7 +423,7 @@ equivalent to
396
423
  qr/\x{AB}C/
397
424
 
398
425
  that is, the character whose code point value is C<0xAB>, followed by the
399
- letter C<C>. But since C<C> is a a hex digit, there is a reasonable chance
426
+ letter C<C>. But since C<C> is a hex digit, there is a reasonable chance
400
427
  that the intent was
401
428
 
402
429
  qr/\x{ABC}/
@@ -510,7 +537,7 @@ purposes. The options are as follows:
510
537
 
511
538
  =item COMPILE
512
539
 
513
- Turns on all compile related debug options.
540
+ Turns on all non-extra compile related debug options.
514
541
 
515
542
  =item PARSE
516
543
 
@@ -544,7 +571,7 @@ Print output intended for testing the internals of the compile process
544
571
 
545
572
  =item EXECUTE
546
573
 
547
- Turns on all execute related debug options.
574
+ Turns on all non-extra execute related debug options.
548
575
 
549
576
  =item MATCH
550
577
 
@@ -617,6 +644,36 @@ debug options.
617
644
  Almost definitely only useful to people hacking
618
645
  on the offsets part of the debug engine.
619
646
 
647
+ =item DUMP_PRE_OPTIMIZE
648
+
649
+ Enable the dumping of the compiled pattern before the optimization phase.
650
+
651
+ =item WILDCARD
652
+
653
+ When Perl encounters a wildcard subpattern, (see L<perlunicode/Wildcards in
654
+ Property Values>), it suspends compilation of the main pattern, compiles the
655
+ subpattern, and then matches that against all legal possibilities to determine
656
+ the actual code points the subpattern matches. After that it adds these to
657
+ the main pattern, and continues its compilation.
658
+
659
+ You may very well want to see how your subpattern gets compiled, but it is
660
+ likely of less use to you to see how Perl matches that against all the legal
661
+ possibilities, as that is under control of Perl, not you. Therefore, the
662
+ debugging information of the compilation portion is as specified by the other
663
+ options, but the debugging output of the matching portion is normally
664
+ suppressed.
665
+
666
+ You can use the WILDCARD option to enable the debugging output of this
667
+ subpattern matching. Careful! This can lead to voluminous outputs, and it
668
+ may not make much sense to you what and why Perl is doing what it is.
669
+ But it may be helpful to you to see why things aren't going the way you
670
+ expect.
671
+
672
+ Note that this option alone doesn't cause any debugging information to be
673
+ output. What it does is stop the normal suppression of execution-related
674
+ debugging information during the matching portion of the compilation of
675
+ wildcards. You also have to specify which execution debugging information you
676
+ want, such as by also including the EXECUTE option.
620
677
 
621
678
  =back
622
679
 
@@ -628,14 +685,15 @@ These are useful shortcuts to save on the typing.
628
685
 
629
686
  =item ALL
630
687
 
631
- Enable all options at once except OFFSETS, OFFSETSDBG and BUFFERS.
688
+ Enable all options at once except OFFSETS, OFFSETSDBG, BUFFERS, WILDCARD, and
689
+ DUMP_PRE_OPTIMIZE.
632
690
  (To get every single option without exception, use both ALL and EXTRA, or
633
691
  starting in 5.30 on a C<-DDEBUGGING>-enabled perl interpreter, use
634
692
  the B<-Drv> command-line switches.)
635
693
 
636
694
  =item All
637
695
 
638
- Enable DUMP and all execute options. Equivalent to:
696
+ Enable DUMP and all non-extra execute options. Equivalent to:
639
697
 
640
698
  use re 'debug';
641
699
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  package warnings;
7
7
 
8
- our $VERSION = "1.44";
8
+ our $VERSION = "1.47";
9
9
 
10
10
  # Verify that we're called correctly so that warnings will work.
11
11
  # Can't use Carp, since Carp uses us!
@@ -106,6 +106,9 @@ our %Offsets = (
106
106
  'experimental::private_use' => 140,
107
107
  'experimental::uniprop_wildcards' => 142,
108
108
  'experimental::vlb' => 144,
109
+
110
+ # Warnings Categories added in Perl 5.031
111
+ 'experimental::isa' => 146,
109
112
  );
110
113
 
111
114
  our %Bits = (
@@ -119,11 +122,12 @@ our %Bits = (
119
122
  'digit' => "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
120
123
  'exec' => "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
121
124
  'exiting' => "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
122
- 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x51\x15\x50\x51\x01", # [51..56,58..62,66..68,70..72]
125
+ 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x51\x15\x50\x51\x05", # [51..56,58..62,66..68,70..73]
123
126
  'experimental::alpha_assertions' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [67]
124
127
  'experimental::bitwise' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [58]
125
128
  'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [59]
126
129
  'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [66]
130
+ 'experimental::isa' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [73]
127
131
  'experimental::lexical_subs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [52]
128
132
  'experimental::postderef' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [55]
129
133
  'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [70]
@@ -195,11 +199,12 @@ our %DeadBits = (
195
199
  'digit' => "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
196
200
  'exec' => "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
197
201
  'exiting' => "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
198
- 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\xa2\x2a\xa0\xa2\x02", # [51..56,58..62,66..68,70..72]
202
+ 'experimental' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\xa2\x2a\xa0\xa2\x0a", # [51..56,58..62,66..68,70..73]
199
203
  'experimental::alpha_assertions' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [67]
200
204
  'experimental::bitwise' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [58]
201
205
  'experimental::const_attr' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [59]
202
206
  'experimental::declared_refs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [66]
207
+ 'experimental::isa' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [73]
203
208
  'experimental::lexical_subs' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [52]
204
209
  'experimental::postderef' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [55]
205
210
  'experimental::private_use' => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [70]
@@ -262,8 +267,8 @@ our %DeadBits = (
262
267
 
263
268
  # These are used by various things, including our own tests
264
269
  our $NONE = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
265
- our $DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55\x51\x55\x50\x51\x01", # [2,4,22,23,25,52..56,58..63,66..68,70..72]
266
- our $LAST_BIT = 146 ;
270
+ our $DEFAULT = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55\x51\x55\x50\x51\x05", # [2,4,22,23,25,52..56,58..63,66..68,70..73]
271
+ our $LAST_BIT = 148 ;
267
272
  our $BYTES = 19 ;
268
273
 
269
274
  sub Croaker
@@ -684,6 +689,10 @@ disable compile-time warnings you need to rewrite the code like this:
684
689
  my $b; chop $b;
685
690
  }
686
691
 
692
+ And note that unlike the first example, this will permanently set C<$^W>
693
+ since it cannot both run during compile-time and be localized to a
694
+ run-time block.
695
+
687
696
  The other big problem with C<$^W> is the way you can inadvertently
688
697
  change the warning setting in unexpected places in your code. For example,
689
698
  when the code below is run (without the B<-w> flag), the second call
@@ -719,7 +728,7 @@ X<-w>
719
728
 
720
729
  This is the existing flag. If the lexical warnings pragma is B<not>
721
730
  used in any of you code, or any of the modules that you use, this flag
722
- will enable warnings everywhere. See L<Backward Compatibility> for
731
+ will enable warnings everywhere. See L</Backward Compatibility> for
723
732
  details of how this flag interacts with lexical warnings.
724
733
 
725
734
  =item B<-W>
@@ -813,6 +822,8 @@ The current hierarchy is:
813
822
  | |
814
823
  | +- experimental::declared_refs
815
824
  | |
825
+ | +- experimental::isa
826
+ | |
816
827
  | +- experimental::lexical_subs
817
828
  | |
818
829
  | +- experimental::postderef
Binary file
Binary file
Binary file