Created
July 13, 2019 08:57
-
-
Save sironekotoro/15e39d566ccc399c214888903bf4fa80 to your computer and use it in GitHub Desktop.
Perl入学式 2019第3回 最終問題
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use strict; | |
use warnings; | |
use Data::Dumper; | |
# japan | |
# ├─ tokyo | |
# │ ├─ gotanda | |
# │ └─ shibuya | |
# ├─ osaka | |
# │ └─ shinsaibashi | |
# ├─ okinawa | |
# │ ├─ naha | |
# │ └─ yomitan | |
# ├─ hokkaido | |
# │ ├─ sapporo | |
# │ └─ obihiro | |
# └─ fukuoka | |
# └─ hakata | |
my %japan = (); | |
# 無名配列を入れる方法 | |
$japan{tokyo} = [ 'gotanda', 'shibuya' ]; | |
# 配列をリファレンス化して入れる方法 | |
my @osaka = ('shinsaibashi'); | |
my $osaka_ref = \@osaka; | |
$japan{osaka} = $osaka_ref; | |
# 配列リファレンスにプッシュして入れていく | |
push @{ $japan{okinawa} }, 'naha'; | |
push @{ $japan{okinawa} }, 'yomitan'; | |
$japan{hokkaido} = [ 'sapporo', 'obihiro' ]; | |
$japan{fukuoka} = [ 'hakata' ]; | |
# 作成したデータから tokyo に含まれる gotanda, shibuyaを表示してください | |
## 直接指定して表示 | |
# print $japan{tokyo}->[0] . "\n"; | |
# print $japan{tokyo}->[1] . "\n"; | |
## for文で表示 | |
# for my $place ( @{$japan{tokyo}} ){ | |
# print $place . "\n"; | |
# } | |
# 作成したデータの osaka に umedaを追加してください | |
push @{$japan{osaka}} , 'umeda'; | |
# 作成したデータの okinawa に piyoを追加してください | |
$japan{okinawa}->[2] = 'piyo'; | |
# 作成したデータの hokkaido に chitoseを追加し, sapporoを削除してください | |
push @{$japan{hokkaido}} , 'chitose'; | |
shift @{$japan{hokkaido}}; | |
# 作成したデータの fukuoka を削除してください | |
delete $japan{fukuoka}; | |
# Data::Dumperでデータ構造を表示してください | |
print Dumper \%japan; | |
# 全ての要素を表示 | |
# for my $region (keys %japan){ | |
# print $region . "\n"; | |
# | |
# デリファレンスして() の中に入れる | |
# for my $city ( @{$japan{$region}} ){ | |
# print " $city" . "\n"; | |
# } | |
# } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment