에 인쇄되지 않습니다. 그것은 나를 준다 :해시 내가 해시가 펄
intron: ARRAY(0x3430440)
source: ARRAY(0x34303b0)
exon: ARRAY(0x34303f8)
sig_peptide: ARRAY(0x33f0a48)
mat_peptide: ARRAY(0x3430008)
왜 그렇습니까?
에 인쇄되지 않습니다. 그것은 나를 준다 :해시 내가 해시가 펄
intron: ARRAY(0x3430440)
source: ARRAY(0x34303b0)
exon: ARRAY(0x34303f8)
sig_peptide: ARRAY(0x33f0a48)
mat_peptide: ARRAY(0x3430008)
왜 그렇습니까?
값은 배열 참조입니다. 당신은 다음과 같이해야합니다.
while(my($key, $value) = each %sorted_features) {
print "$key: @$value\n";
}
즉, 참조를 참조 해제하십시오.
use Data::Dumper;
print Dumper \%sorted_features;
당신은 같은 것을 볼 것입니다 : 당신은 당신의 데이터가 어떻게 생겼는지 알 수없는 경우, 좋은 생각이 Data::Dumper
모듈을 사용하는 것입니다
{
해시 참조의 시작을 의미
$VAR1 = {
'intron' => [
1,
2,
3
]
};
, 배열 참조는 [
입니다.
해시 값은 배열 참조입니다. 이러한 배열의 내용을 표시하기 위해 추가 코드를 작성해야하지만 그냥 다음 디버깅하는 경우는, 그런데, 당신의 해시 걱정의 이름 %sorted_features
을이
use Data::Dumper;
$Data::Dumper::Useqq = 1;
print Dumper \%sorted_features;
같은 Data::Dumper
를 사용하는 아마 간단하고 나를. 해시는 본질적으로 정렬되지 않으며, each
이 요소를 검색하는 순서는 기본적으로 무작위입니다.
또한 Data::Dumper::Pertidy
을 사용하면 Perltidy를 통해 Data :: Dump의 출력을 실행할 수 있습니다.
#!/usr/bin/perl -w
use strict;
use Data::Dumper::Perltidy;
my $data = [{title=>'This is a test header'},{data_range=>
[0,0,3, 9]},{format => 'bold' }];
print Dumper $data;
인쇄 :
$VAR1 = [
{ 'title' => 'This is a test header' },
{ 'data_range' => [ 0, 0, 3, 9 ] },
{ 'format' => 'bold' }
];