Perl入学式in東京 #4に参加しました
場所
東京都品川区西五反田3-5-20
日時
2013/10/19(土)13:00-17:00
どんなこと
Perlの超初心者をベースにしたお話
ハンズオン形式で行うのでPCなどの環境が必須
サポーター陣
かなりたくさんいた。あまり人の名前や顔を覚えるのが苦手なので4人くらいしか覚えていなかった。
YAPC::Asiaでは覚えていないが、Perlビギナーズでちょっとだけ顔を覚えていたので思い出すことができました。
水あった
会場となる9AB会議室付近に自販機はありません. 飲料等は事前にお買い求め下さい.
とかあったのですが、水が会場にあってちょっとびっくりしました。
まあ、ジュースやお茶を飲みたい人もいるでしょうからいろいろあったでしょうが
サブルーチン
sayテスト
#!/usr/bin/env perl use strict; use warnings; #################### # テスト #################### # サブルーチン sub say{ my $str = shift @_; print $str. "\n"; } sub say2{ my $str = shift; print $str. "\n"; } say("ほげ"); say("11111111111"); my $aaa = "bbbbbbb"; say($aaa); say2("vvvvvvvvvvvvvvvvvvvvvvvvvvv");
四則演算
#!/usr/bin/env perl use strict; use warnings; sub say{ my $str = shift @_; print $str . "\n"; } sub add{ my ($aaa, $bbb) = @_; return $aaa + $bbb; } sub min{ my ($aaa, $bbb) = @_; return $aaa - $bbb; } sub mul{ my ($aaa, $bbb) = @_; return $aaa * $bbb; } sub div{ my ($aaa, $bbb) = @_; if($bbb == 0){ return "除算失敗でーす"; } return $aaa / $bbb; } # 計算 say "add:" . add(100, 20); say(""); say "min:" . min(100, 20); say(""); say "mul:" . mul(100, 20); say "mul:" . mul(100, 0); say "mul:" . mul(0, 20); say(""); say "div:" . div(100, 20); say "div:" . div(100, 0); say "div:" . div(0, 20); say("");
@配列や%ハッシュをサブルーチンに渡す
#!/usr/bin/env perl use strict; use warnings; my @list1 = ("aaa", "bbb", "ccc"); my %list2 = ( "key1" => "aaaa", "key2" => "bbbb" ); sub output_array{ # 引数を取得 my($list1, $list2) = @_; for my $val(@{$list1}){ print $val . "\n"; } while(my ($key, $val) = each %{$list2}){ print $key . "=>" . $val . "\n"; } foreach my $key (keys %{$list2}){ print $key . "=>" . $list2->{$key} . "\n"; } } output_array(\@list1, \%list2);
正規表現
#!/usr/bin/env perl use strict; use warnings; print "start" . "\n"; while(chomp(my $input = <STDIN>)){ print $input . "\n"; if($input =~ /[0]/){ last; } if($input =~ /[pP]erl/){ print " Find Perl!" . "\n"; } if($input =~ /python/i){ print " Find Python!" . "\n"; } if($input =~ /(perl)|(ruby)|(python)/){ print " Love Programing!" . "\n"; } } print "end" . "\n";