in reply to Re^3: Getting Special Perl Variables for last Regexp from Debugger
in thread Getting Special Perl Variables for last Regexp from Debugger
The only thing that seems to be wrong are the Regexp Vars. The others seems to work fine. The Output is (reformatted) :# Output Perl Special Variables sub OutputGlobalVars { local $| = 1; print STDOUT "DBGOUT+=GLOBAL_VARIABLES_START\n"; print STDOUT 'DBGOUT+=$!:='.$!."\n"; print STDOUT 'DBGOUT+=$":='.$"."\n"; print STDOUT 'DBGOUT+=$#:='.$#."\n"; print STDOUT 'DBGOUT+=$$:='.$$."\n"; print STDOUT 'DBGOUT+=$(:='.$(."\n"; print STDOUT 'DBGOUT+=$):='.$)."\n"; print STDOUT 'DBGOUT+=$.:='.$.."\n"; print STDOUT 'DBGOUT+=$/:='.unpack('U*',$/)."\n"; print STDOUT 'DBGOUT+=$0:='.$0."\n"; print STDOUT 'DBGOUT+=$::='.unpack('U*',$:)."\n"; print STDOUT 'DBGOUT+=$;:='.unpack('U*',$;)."\n"; print STDOUT 'DBGOUT+=$<:='.$<."\n"; print STDOUT 'DBGOUT+=$>:='.$>."\n"; print STDOUT 'DBGOUT+=$?:='.$?."\n"; print STDOUT 'DBGOUT+=$@:='.$@."\n"; print STDOUT 'DBGOUT+=$ARGV:='.$ARGV."\n"; print STDOUT 'DBGOUT+=$[:='.$[."\n"; print STDOUT 'DBGOUT+=$^A:='.$^A."\n"; print STDOUT 'DBGOUT+=$^C:='.$^C."\n"; print STDOUT 'DBGOUT+=$^D:='.$^D."\n"; print STDOUT 'DBGOUT+=$^E:='.$^E."\n"; print STDOUT 'DBGOUT+=$^F:='.$^F."\n"; print STDOUT 'DBGOUT+=$^H:='.$^H."\n"; print STDOUT 'DBGOUT+=$^I:='.$^I."\n"; print STDOUT 'DBGOUT+=$^L:='.unpack('U*',$^L)."\n"; print STDOUT 'DBGOUT+=$^M:='.$^M."\n"; print STDOUT 'DBGOUT+=$^O:='.$^O."\n"; print STDOUT 'DBGOUT+=$^P:='.$^P."\n"; print STDOUT 'DBGOUT+=$^R:='.$^R."\n"; print STDOUT 'DBGOUT+=$^S:='.$^S."\n"; print STDOUT 'DBGOUT+=$^T:='.$^T."\n"; print STDOUT 'DBGOUT+=$^W:='.$^W."\n"; print STDOUT 'DBGOUT+=$^X:='.$^X."\n"; print STDOUT 'DBGOUT+=$_:='.$_."\n"; print STDOUT 'DBGOUT+=${^WIDE_SYSTEM_CALLS}:='.${^WIDE_SYSTEM_CALL +S}."\n"; # %! if (scalar keys %{!}) { foreach my $szKey (keys %{!}) { print STDOUT 'DBGOUT+=%!('.$szKey.'):='.$!{$szKey}."\n"; } } else { print STDOUT 'DBGOUT+=%!:='.'undef'."\n"; } # %ENV if (scalar keys %ENV) { foreach my $szKey (keys %ENV) { print STDOUT 'DBGOUT+=%ENV('.$szKey.'):='.$ENV{$szKey}."\n +"; } } else { print STDOUT 'DBGOUT+=%ENV:='.'undef'."\n"; } # %INC if (scalar keys %INC) { foreach my $szKey (keys %INC) { print STDOUT 'DBGOUT+=%INC('.$szKey.'):='.$INC{$szKey}."\n +"; } } else { print STDOUT 'DBGOUT+=%INC:='.'undef'."\n"; } # %SIG if (scalar keys %SIG) { foreach my $szKey (keys %SIG) { print STDOUT 'DBGOUT+=%SIG('.$szKey.'):='.$SIG{$szKey}."\n +"; } } else { print STDOUT 'DBGOUT+=%SIG:='.'undef'."\n"; } # %^H if (scalar keys %{^H}) { foreach my $szKey (keys %{^H}) { print STDOUT 'DBGOUT+=%^H('.$szKey.'):='.$^H{$szKey}."\n"; } } else { print STDOUT 'DBGOUT+=%^H:='.'undef'."\n"; } my $i; for($i=0;$i<@ARGV;$i++) { print STDOUT 'DBGOUT+=@ARGV['.$i.']:='.$ARGV[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@ARGV:='.'undef'."\n"; } for($i=0;$i<@F;$i++) { print STDOUT 'DBGOUT+=@F['.$i.']:='.$F[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@F:='.'undef'."\n"; } for($i=0;$i<@INC;$i++) { print STDOUT 'DBGOUT+=@INC['.$i.']:='.$INC[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@INC:='.'undef'."\n"; } for($i=0;$i<@DB::Underscore;$i++) { print STDOUT 'DBGOUT+=@_['.$i.']:='.$DB::Underscore[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@_:='.'undef'."\n"; } # Package specific my $szPackage = $DB::package; print STDOUT "DBGOUT+=:=PACKAGE_VARIABLES_START\n"; print STDOUT 'DBGOUT+=$VERSION:='.${$szPackage.'::VERSION'}."\n"; print STDOUT 'DBGOUT+=$a:='.${$szPackage.'::a'}."\n"; print STDOUT 'DBGOUT+=$b:='.${$szPackage.'::b'}."\n"; # %EXPORT_TAGS if (scalar keys %{$szPackage.'::EXPORT_TAGS'}) { foreach my $szKey (keys %{$szPackage.'::EXPORT_TAGS'}) { print STDOUT 'DBGOUT+=%EXPORT_TAGS('.$szKey.'):='.${$szPac +kage.'::EXPORT_TAGS'}{szKey}."\n"; } } else { print STDOUT 'DBGOUT+=%EXPORT_TAGS:='.'undef'."\n"; } # %FIELDS if (scalar keys %{$szPackage.'::FIELDS'}) { foreach my $szKey (keys %{$szPackage.'::FIELDS'}) { print STDOUT 'DBGOUT+=%FIELDS('.$szKey.'):='.${$szPackage. +'::FIELDS'}{$szKey}."\n"; } } else { print STDOUT 'DBGOUT+=%FIELDS:='.'undef'."\n"; } # %OVERLOAD if (scalar keys %{$szPackage.'::OVERLOAD'}) { foreach my $szKey (keys %{$szPackage.'::OVERLOAD'}) { print STDOUT 'DBGOUT+=%OVERLOAD('.$szKey.'):='.${$szPackag +e.'::OVERLOAD'}{$szKey}."\n"; } } else { print STDOUT 'DBGOUT+=%OVERLOAD:='.'undef'."\n"; } for($i=0;$i<@{$szPackage.'::EXPORT'};$i++) { print STDOUT 'DBGOUT+=@EXPORT['.$i.']:='.${$szPackage.'::EXPOR +T'}[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@EXPORT:='.'undef'."\n"; } for($i=0;$i<@{$szPackage.'::EXPORT_OK'};$i++) { print STDOUT 'DBGOUT+=@EXPORT_OK['.$i.']:='.${$szPackage.'::EX +PORT_OK'}[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@EXPORT_OK:='.'undef'."\n"; } for($i=0;$i<@{$szPackage.'::ISA'};$i++) { print STDOUT 'DBGOUT+=@ISA['.$i.']:='.${$szPackage.'::ISA'}[$i +]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@ISA:='.'undef'."\n"; } # Last Regexp print STDOUT "DBGOUT+=REGEXP_VARIABLES_START\n"; print STDOUT 'DBGOUT+=$&:='.$&."\n"; print STDOUT 'DBGOUT+=$*:='.$*."\n"; print STDOUT 'DBGOUT+=$+:='.$+."\n"; print STDOUT 'DBGOUT+=$^R:='.$^R."\n"; print STDOUT 'DBGOUT+=$`:='.$`."\n"; for($i=0;$i<@+;$i++) { print STDOUT 'DBGOUT+=@+['.$i.']:='.$+[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@+:='.'undef'."\n"; } for($i=0;$i<@-;$i++) { print STDOUT 'DBGOUT+=@-['.$i.']:='.$-[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@-:='.'undef'."\n"; } for($i=0;$i<@digits;$i++) { print STDOUT 'DBGOUT+=@digits['.$i.']:='.$digits[$i]."\n"; } unless ($i) { print STDOUT 'DBGOUT+=@digits:='.'undef'."\n"; } # File Handle my $hCurrentHandle = select $DB::hOrgFileHandle; my @hFileHandle = ($%,$-,$=,$^,$|,$~); select $hCurrentHandle; print STDOUT "DBGOUT+=FILE_HANDLES_START\n"; print STDOUT 'DBGOUT+=$%:='.$hFileHandle[0]."\n"; print STDOUT 'DBGOUT+=$-:='.$hFileHandle[1]."\n"; print STDOUT 'DBGOUT+=$=:='.$hFileHandle[2]."\n"; print STDOUT 'DBGOUT+=$^:='.$hFileHandle[3]."\n"; print STDOUT 'DBGOUT+=$|:='.$hFileHandle[4]."\n"; print STDOUT 'DBGOUT+=$~:='.$hFileHandle[5]."\n"; }
Global : $! : No such file or directory
Global : $" :
Global : $# :
Global : $$ : 1500
Global : $( : 0
Global : $) : 0
Global : $. : 9
Global : $/ : 10
Global : $0 : E:/ESC/GUI/Plugin/IDE/Projects/MyProject/main.pl
Global : $: : 32
Global : $; : 28
Global : $< : 0
Global : $> : 0
Global : $? : 0
Global : $@ :
Global : $ARGV :
Global : $[ : 0
Global : $^A :
Global : $^C : 0
Global : $^D : 0
Global : $^E : Das System kann die angegebene Datei nicht finden
Global : $^F : 2
Global : $^H : 256
Global : $^I :
Global : $^L : 12
Global : $^M :
Global : $^O : MSWin32
Global : $^P : 831
Global : $^R :
Global : $^S : 0
Global : $^T : 1133266342
Global : $^W : 0
Global : $^X : C:\Perl\5.6.1\bin\MSWin32-x86-multi-thread\perl.exe
Global : $_ :
Global : ${^WIDE_SYSTEM_CALLS} : 0
Global : %! : Hash : 39 Keys
Global : %ENV : Hash : 35 Keys
Global : %INC : Hash : 46 Keys
Global : %SIG : Hash : 28 Keys
Global : %^H : Hash : 0 Keys
Global : @ARGV : Array : 0 Elements
Global : @F : Array : 0 Elements
Global : @INC : Array : 10 Elements
Global : @_ : Array : 1 Elements
Package : $VERSION :
Package : $a :
Package : $b :
Package : %EXPORT_TAGS : Hash : 0 Keys
Package : %FIELDS : Hash : 0 Keys
Package : %OVERLOAD : Hash : 0 Keys
Package : @EXPORT : Array : 0 Elements
Package : @EXPORT_OK : Array : 0 Elements
Package : @ISA : Array : 1 Elements
File Handle : $% : 0
File Handle : $- : 0
File Handle : $= : 60
File Handle : $^ : STDOUT_TOP
File Handle : $| : 1
File Handle : $~ : STDOUT
Regular Expression : $& :
Regular Expression : $* :
Regular Expression : $+ :
Regular Expression : $^R :
Regular Expression : $` :
Regular Expression : @+ : Array : 0 Elements
Regular Expression : @- : Array : 0 Elements
Regular Expression : @digits : Array : 0 Elements
So how can I get the Regexp Vars? I didnt understand what you mean in your last sentence!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Getting Special Perl Variables for last Regexp from Debugger
by Moron (Curate) on Nov 29, 2005 at 13:19 UTC | |
by Outaspace (Scribe) on Nov 29, 2005 at 15:47 UTC |