X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSymbol.pm;h=8739bd2b316e4cb1717796d3a9a67e667e761c05;hb=6bcc4512882cbfb9a802c28116e3f7a01455c5f8;hp=a95383a5d68cf4783080a173ac47d0278c8d6b86;hpb=c2e66d9e68806a7000ee1a4760c35703a0e0ae89;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/Symbol.pm b/lib/Symbol.pm index a95383a..8739bd2 100644 --- a/lib/Symbol.pm +++ b/lib/Symbol.pm @@ -63,14 +63,14 @@ explicitly. =cut -BEGIN { require 5.002; } +BEGIN { require 5.005; } require Exporter; @ISA = qw(Exporter); @EXPORT = qw(gensym ungensym qualify qualify_to_ref); @EXPORT_OK = qw(delete_package); -$VERSION = 1.02; +$VERSION = 1.04; my $genpkg = "Symbol::"; my $genseq = 0; @@ -95,8 +95,10 @@ sub qualify ($;$) { my ($name) = @_; if (!ref($name) && index($name, '::') == -1 && index($name, "'") == -1) { my $pkg; - # Global names: special character, "^x", or other. - if ($name =~ /^([^a-z])|(\^[a-z])$/i || $global{$name}) { + # Global names: special character, "^xyz", or other. + if ($name =~ /^(([^a-z])|(\^[a-z_]+))\z/i || $global{$name}) { + # RGS 2001-11-05 : translate leading ^X to control-char + $name =~ s/^\^([a-z_])/'qq(\c'.$1.')'/eei; $pkg = "main"; } else {