Skip to content

Instantly share code, notes, and snippets.

@Code-Hex
Created March 24, 2017 14:13
Show Gist options
  • Select an option

  • Save Code-Hex/158cedee6d81547eed554b7b20993571 to your computer and use it in GitHub Desktop.

Select an option

Save Code-Hex/158cedee6d81547eed554b7b20993571 to your computer and use it in GitHub Desktop.
Devel::Peek を使った一覧
use strict;
use warnings;
use v5.10;
use Devel::Peek 'Dump';
sub check($&);
check '$val = 0' => sub {
my $val = 0;
Dump $val;
};
check '$val = 17' => sub {
my $val = 17;
Dump $val;
};
check '$val = undef' => sub {
my $val = undef;
Dump $val;
};
check '@av = ()' => sub {
my @av = ();
Dump @av;
};
check '@av = 1..3' => sub {
my @av = 1..3;
Dump @av;
};
check '%hv = ()' => sub {
my %hv = ();
Dump %hv;
};
check '%hv = (a => 1, b => "val")' => sub {
my %hv = (a => 1, b => "val");
Dump %hv;
};
check '$ref = \"Hi"' => sub {
my $ref = \"Hi";
Dump $ref;
};
check '$ref = +[]' => sub {
my $ref = +[];
Dump $ref;
};
check '$ref = +[1..3]' => sub {
my $ref = +[1..3];
Dump $ref;
};
check '$ref = +{}' => sub {
my $ref = +{};
Dump $ref;
};
check '$ref = +{a => 1, b => "val"}' => sub {
my $ref = +{a => 1, b => "val"};
Dump $ref;
};
sub check($&) {
my ($label, $code) = @_;
say "--------------------------- ${label}";
$code->();
}
__END__
--------------------------- $val = 0
SV = IV(0x7fcb62042810) at 0x7fcb62042820
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 0
--------------------------- $val = 17
SV = IV(0x7fcb62086240) at 0x7fcb62086250
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 17
--------------------------- $val = undef
SV = NULL(0x0) at 0x7fcb620865f8
REFCNT = 1
FLAGS = ()
--------------------------- @av = ()
SV = PVAV(0x7fcb62075cd8) at 0x7fcb62086730
REFCNT = 1
FLAGS = ()
ARRAY = 0x0
FILL = -1
MAX = -1
ARYLEN = 0x0
FLAGS = (REAL)
--------------------------- @av = 1..3
SV = PVAV(0x7fcb62075d50) at 0x7fcb6204c2a8
REFCNT = 1
FLAGS = ()
ARRAY = 0x7fcb61c09d60
FILL = 2
MAX = 3
ARYLEN = 0x0
FLAGS = (REAL)
Elt No. 0
SV = IV(0x7fcb62004a08) at 0x7fcb62004a18
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 1
Elt No. 1
SV = IV(0x7fcb62029f18) at 0x7fcb62029f28
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 2
Elt No. 2
SV = IV(0x7fcb62029f30) at 0x7fcb62029f40
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 3
--------------------------- %hv = ()
SV = PVHV(0x7fcb62009fa0) at 0x7fcb6204c4d0
REFCNT = 1
FLAGS = (SHAREKEYS)
ARRAY = 0x0
KEYS = 0
FILL = 0
MAX = 7
--------------------------- %hv = (a => 1, b => "val")
SV = PVHV(0x7fcb62009fc0) at 0x7fcb6204c620
REFCNT = 1
FLAGS = (SHAREKEYS)
ARRAY = 0x7fcb61c14a50 (0:7, 2:1)
hash quality = 62.5%
KEYS = 2
FILL = 1
MAX = 7
Elt "b" HASH = 0xd17bafe2
SV = PV(0x7fcb62005510) at 0x7fcb62029f28
REFCNT = 1
FLAGS = (POK,IsCOW,pPOK)
PV = 0x7fcb61c24000 "val"\0
CUR = 3
LEN = 10
COW_REFCNT = 1
Elt "a" HASH = 0x11c02b52
SV = IV(0x7fcb62004a08) at 0x7fcb62004a18
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 1
--------------------------- $ref = \"Hi"
SV = IV(0x7fcb6204c7c0) at 0x7fcb6204c7d0
REFCNT = 1
FLAGS = (ROK)
RV = 0x7fcb6204c800
SV = PV(0x7fcb62005dd0) at 0x7fcb6204c800
REFCNT = 2
FLAGS = (POK,IsCOW,READONLY,PROTECT,pPOK)
PV = 0x7fcb61c24320 "Hi"\0
CUR = 2
LEN = 10
COW_REFCNT = 0
--------------------------- $ref = +[]
SV = IV(0x7fcb6204c928) at 0x7fcb6204c938
REFCNT = 1
FLAGS = (ROK)
RV = 0x7fcb62029f70
SV = PVAV(0x7fcb62006430) at 0x7fcb62029f70
REFCNT = 1
FLAGS = ()
ARRAY = 0x0
FILL = -1
MAX = -1
ARYLEN = 0x0
FLAGS = (REAL)
--------------------------- $ref = +[1..3]
SV = IV(0x7fcb6204ca60) at 0x7fcb6204ca70
REFCNT = 1
FLAGS = (ROK)
RV = 0x7fcb62029f70
SV = PVAV(0x7fcb62006430) at 0x7fcb62029f70
REFCNT = 1
FLAGS = ()
ARRAY = 0x7fcb61d00000
FILL = 2
MAX = 2
ARYLEN = 0x0
FLAGS = (REAL)
Elt No. 0
SV = IV(0x7fcb62029f48) at 0x7fcb62029f58
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 1
Elt No. 1
SV = IV(0x7fcb62004a08) at 0x7fcb62004a18
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 2
Elt No. 2
SV = IV(0x7fcb62029f18) at 0x7fcb62029f28
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 3
--------------------------- $ref = +{}
SV = IV(0x7fcb6204cc70) at 0x7fcb6204cc80
REFCNT = 1
FLAGS = (ROK)
RV = 0x7fcb62029f70
SV = PVHV(0x7fcb62009920) at 0x7fcb62029f70
REFCNT = 1
FLAGS = (SHAREKEYS)
ARRAY = 0x0
KEYS = 0
FILL = 0
MAX = 7
--------------------------- $ref = +{a => 1, b => "val"}
SV = IV(0x7fcb6204cda8) at 0x7fcb6204cdb8
REFCNT = 1
FLAGS = (ROK)
RV = 0x7fcb62029f70
SV = PVHV(0x7fcb62009920) at 0x7fcb62029f70
REFCNT = 1
FLAGS = (SHAREKEYS)
ARRAY = 0x7fcb61f00000 (0:7, 2:1)
hash quality = 62.5%
KEYS = 2
FILL = 1
MAX = 7
Elt "a" HASH = 0x11c02b52
SV = IV(0x7fcb62004a08) at 0x7fcb62004a18
REFCNT = 1
FLAGS = (IOK,pIOK)
IV = 1
Elt "b" HASH = 0xd17bafe2
SV = PV(0x7fcb62005530) at 0x7fcb62029f28
REFCNT = 1
FLAGS = (POK,IsCOW,pPOK)
PV = 0x7fcb61c24eb0 "val"\0
CUR = 3
LEN = 10
COW_REFCNT = 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment