2007년 5월 10일 목요일

Data::Dumper 모듈의

아 무엇에 쓰는 물건인가 생각했는데 참으로 좋은 모듈일쎄..

변수나 레퍼런스를 출력할 수 있고 그 값들을 펄 신텍스에 맞춰 출력해주는 역할 수행

여러가지 메서드가 존재 하지만 간단히 예제를 봐야겠다.

use Data::Dumper;

    package Foo;
    sub new {bless {'a' => 1, 'b' => sub { return "foo" }}, $_[0]};

    package Fuz;                       # a weird REF-REF-SCALAR object
    sub new {bless \($_ = \ 'fu\'z'), $_[0]};

    package main;
    $foo = Foo->new;
    $fuz = Fuz->new;
    $boo = [ 1, [], "abcd", \*foo,
             {1 => 'a', 023 => 'b', 0x45 => 'c'},
             \\"p\q\'r", $foo, $fuz];


    ########
    # simple usage
    ########

    $bar = eval(Dumper($boo));
    print($@) if $@;
    print Dumper($boo), Dumper($bar);  # pretty print (no array indices)


결과..
$VAR1 = [
          1,
          [],
          'abcd',
          \*::foo,
          {
            '69' => 'c',
            '1' => 'a',
            '19' => 'b'
          },
          \\'pq\'r',
          bless( {
                   'a' => 1,
                   'b' => sub { "DUMMY" }
                 }, 'Foo' ),
          bless( do{\(my $o = \'fu\'z')}, 'Fuz' )
        ];
$VAR1 = [
          1,
          [],
          'abcd',
          \*::foo,
          {
            '69' => 'c',
            '1' => 'a',
            '19' => 'b'
          },
          \\'pq\'r',
          bless( {
                   'a' => 1,
                   'b' => sub { "DUMMY" }
                 }, 'Foo' ),
          bless( do{\(my $o = \'fu\'z')}, 'Fuz' )
        ];

댓글 없음:

댓글 쓰기