+# https://github.com/perl-entrance-org/workshop-2018/blob/master/4th/practice.md
+# 2つの数値を引数に取り, 以下の機能を持つ関数 calc を作成してください.
+# 1.add, sub, mul, div, mod という key と、
+# それぞれの演算結果(+, -, *, /, %)を value
+# 2.引数が数字であるかどうか正規表現を使って判定する.
+# 3.数値以外が引数であった場合は undef を返す.
+my $hash_ref = calc( 32, 5 );
+$hash_ref = calc( 3, 0 );
+$hash_ref = calc( 32, 'A' );
+ my ( $left, $right ) = @_;
+ # 2.引数が数字であるかどうか正規表現を使って判定する.
+ # 数値かどうかの判別には正規表現のメタ文字 \D を利用
+ if ( $left =~ /\D+/ || $right =~ /\D+/ ) {
+ # 3.数値以外が引数であった場合は undef を返す.
+ elsif ( $right == 0 ) {
+ # 0で除算の際にはエラーになるので、第二引数 $rightが
+ # 0 の場合には、div,modを除いた結果を返す
+ # 1.add, sub, mul, div, mod という key と、
+ # それぞれの演算結果(+, -, *, /, %)を value