Data::Printer로 Perl 값을 예쁘게 검사

3561 단어 perldebugging

복잡한 구조 및 디버깅에 대한 정보



Perl에서는(대부분의 다른 프로그래밍 언어와 마찬가지로) 복잡한 데이터 구조를 구성할 수 있습니다. 복잡하다는 것은 혼합 해시 및 배열 또는 중첩(해시 해시, 해시 배열 등)을 의미합니다.

그런 다음 일반적으로 이러한 복잡한 구조에서 "printf 디버깅"을 수행하는 데 시간과 노력이 필요하므로 데이터 덤퍼가 존재하는 이유입니다!

그럼 코드와 함께 가자!

먼저 덤프할 변수를 채웁니다.



일부 콘텐츠로 배열을 만들고 채우는 이 작은 스니펫을 제안합니다.

#!/usr/bin/env perl

my @array = ();
push @array, "apple";
push @array, "banana";
push @array, "strawberry";
push @array, { name => "tib", color => "blue" };
push @array, { name => "bob", color => "red" };


항목 중 일부가 해시(참조)인 항목이 있는 배열입니다.

데이터::덤퍼



먼저 클래식Data::Dumper으로 덤벼보겠습니다 😃

use Data::Dumper;
print Dumper(@array);


출력은 이미 나쁘지 않습니다(해시는 들여쓰기됨).


출력을 개선하기 위해 behavior of Data::Dumper을 약간 조정할 수 있지만 내 의견을 원한다면 더 나은 옵션이 있습니다...

데이터::프린터



먼저 CPAN 클라이언트cpanm Data::PrinterData::Printer을 설치합니다.

Data::Printer는 코어에 있지 않지만(Data::Dumper는 있음) "비코어"종속성은 없습니다! 💃

use DDP;
p @array;


그리고 짜잔! 형식이 잘 지정되고 색상이 지정된 데이터 덤프 👍

좋은 웹페이지 즐겨찾기