<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perl</anchor> の<dfn>コード参照</dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サブルーチン</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照</anchor>です。</p><section><h1>コード参照が何者か調べる</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> 次のようにすると <var class="perl">$code</var> が作られた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソースコード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行数</anchor>を知ることができます。<example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><pre xmlns="http://www.w3.org/1999/xhtml" class="code perl">use B ();
my $meta = B::svref_2object ($code);
warn sprintf &quot;%s line %d&quot;, $meta-&gt;FILE, $meta-&gt;GV-&gt;LINE;</pre></example></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 次のようにすると <var class="perl">$code</var> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Perl</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソースコード</anchor>に変換することができます。<example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><pre xmlns="http://www.w3.org/1999/xhtml" class="code perl">use B::Deparse ();
my $deparse = B::Deparse-&gt;new;
warn $deparse-&gt;coderef2text ($code);</pre></example></p><figure class="amazon"><p>Perl</p></figure></section></body></html>