- 论坛徽章:
- 0
|
本帖最后由 华小飞_Perl 于 2016-09-10 22:21 编辑
只是一个练习,出现错误,请教各位了,源代码如下:
- #!/usr/bin/perl
- use warnings;
- use strict;
- use Data::Dumper;
- my @gilligan = qw( red_shirt hat luckey_socks water_bottle );
- my @skipper = qw( blue_shirt hat jacket preserver sunscreen );
- my @professor = qw( sunscreen water_bottle slide_rule batteries radio );
- my %all = (
- Gilligan => \@gilligan,
- Skipper => \@skipper,
- Professor => \@professor,
- );
- my %ch_all = map {
- my $person = $_;
- map { $person => { $_ => 1 } } @{ $all{$person} };
- } sort keys %all;
- print Data::Dumper->Dump( [ \%ch_all ], [ qw(*ch_all) ] );
复制代码
原来想构建的哈希数据结构如下:
- %ch_all = (
- 'Gilligan' => {
- 'luckey_socks' => 1,
- 'water_bottle' => 1,
- 'hat' => 1,
- 'red_shirt' => 1
- },
- 'Professor' => {
- 'slide_rule' => 1,
- 'water_bottle' => 1,
- 'batteries' => 1,
- 'sunscreen' => 1,
- 'radio' => 1
- },
- 'Skipper' => {
- 'jacket' => 1,
- 'sunscreen' => 1,
- 'preserver' => 1,
- 'blue_shirt' => 1,
- 'hat' => 1
- }
- );
复制代码
但实际运行下来如下:
- %ch_all = (
- 'Gilligan' => {
- 'water_bottle' => 1
- },
- 'Professor' => {
- 'radio' => 1
- },
- 'Skipper' => {
- 'sunscreen' => 1
- }
- );
复制代码
请问各位在map函数使用上存在哪些错误,请指正,谢谢!
(啰嗦了点,勿喷~) |
|