인쇄하는 방법에 해시 Perl

에서는 Perl 프로그래밍 언어입니다 때때로 필요한 인쇄의 내용이다.

예를 들어,이 해시 %h 다음과 같은 내용:

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

에 따라 당신이 원하는 무엇을,거기에 몇 가지 다른 방법 를 인쇄 해시입니다.

사용 Data::Dumper

필요하신 경우에는 신속하게 확인에 포함되어 있는 해시,그런 다음 이 그것은 사용하기 편리한 모듈 Data::Dumper. 유용할 수 있습니다 에서 개발하는 과정이나 디버깅 프로그램입니다.

여기에는 예제 코드:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

print Dumper \%h;

다는 것이 이 프로그램:

$VAR1 = {
          'Bob' => 'yellow',
          'Alice' => 'silver',
          'John' => 'red'
        };

해시장을 주문하지 않은 쌍의 값이 있습니다. 다른 시작 프로그램 출력 쌍에 다른 순서입니다.

사용 print

무슨 일이 경우에 당신은 그냥 통과하는 해시 print?

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

print %h;

프로그램 중 하나를 표시합니다 라인의 형태로 되어 있습니다.

JohnredBobyellowAlicesilver

그것은 분명 이 경우에는 print 를 함께 모든 쌍 키-값의 해시입니다. 해시장을 주문하지 않은 쌍의 값이 있습니다. 다른 실행 프로그램은 다른 출력됩니다.

print 와 변 $,

만약 당신이 그냥 지정 print %h;,그것을 인쇄하는 모든 키 값을 함께합니다. 요청할 수 있습니다 perl 를 삽입하는 상징 사이의 요소입니다. 예를 들어, 새로운 캐릭터 라인 \n.

이를 위해 이 기호는 특별한 변수 $,. 는 코드는 다음과 같습니다:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

$, = "\n";

print %h;

가능한 결과 중 하나의 프로그램(의 데이터 해시되지 않은,그래서 다른 실행하는 것 출력 쌍 다른 순서로):

Bob
yellow
Alice
silver
John
red

그러나 이 방법을 사용할 필요가다. 변 $, —global. 는 경우 당신은 그것을 변경 변경 변화에 대한 전체 프로그램입니다. 어떤 상황에서 는 의미이 방법을 사용하지 않거나 값을 저장할 이 변수에는 는 변수,그리고 다음 print 반환하는 값은 그것에서는, 예를 들어,따라서:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

my $saved = $,;

$, = "\n";

print %h;

$, = $saved;

을 반복 해시

가장 강력하고 유연한 방식으로 출력의 콘텐츠에 해시 화면 가을 통해 모든 값은 해쉬과 인쇄 화면으로 필요합니다. 여기에는 하나의 예는 어떻게 이 작업을 수행할 수 있습니다:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

my %h = (
    John => 'red',
    Alice => 'silver',
    Bob => 'yellow',
);

foreach my $name (sort keys %h) {
    say "$name $h{$name}";
}

의 출력을 프로그램은 항상 동일합니다:

Alice silver
Bob yellow
John red

한 값 쌍으로 해시기 위해 정의되지 않지만,이 프로그램을 사용하 sort순서 을 표시하는 키를 기준으로 분류됩니다.

관련 주제

다른 기사