Slide 1

Slide 1 text

υΩυΩPerlௐࠪஂ Part1 @AnaTofuZ Okinawa.pm #6

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Θͨ͠ Ͱ͢

Slide 4

Slide 4 text

• Ξφάϥ(@AnaTofuZ) • ླྀେ@ฒྻ৴པݚ(u͞Μͷޙഐ) • Perl͕޷͖ɹʢόΠτઌ͸Ruby) • झຯ͸ΫιϦϓ ΞφάϥͰ͢

Slide 5

Slide 5 text

͋Δ೔

Slide 6

Slide 6 text

;ͱࢥ͏

Slide 7

Slide 7 text

Perl1.0͸ ࣮ࡏ ͨ͠ͷ͔

Slide 8

Slide 8 text

Α͘Θ͔ΔPerl • Perl1.0 —ɹ͋ͬͨΒ͍͠ • Perl2 - Տ໺ઌੜ͕ॳΊͯPerlͱग़ձͬͨ࣌ • Perl3 ҧ͍͕෼͔ΒΜ • Perl4 Տ໺ઌੜ͕ຊΛग़ͨ͠ • Perl5 զʑͷ஌ͬͯΔPerl

Slide 9

Slide 9 text

Α͘Θ͔ΔPerl • Perl1.0 —ɹ͋ͬͨΒ͍͠ • Perl2 - Տ໺ઌੜ͕ॳΊͯPerlͱग़ձͬͨ࣌ • Perl3 ҧ͍͕෼͔ΒΜ • Perl4 Տ໺ઌੜ͕ຊΛग़ͨ͠ • Perl5 զʑͷ஌ͬͯΔPerl Perl1

Slide 10

Slide 10 text

Α͘Θ͔ΔPerl • Perl1.0 —ɹ͋ͬͨΒ͍͠ • Perl2 - Տ໺ઌੜ͕ॳΊͯPerlͱग़ձͬͨ࣌ • Perl3 ҧ͍͕෼͔ΒΜ • Perl4 ͋ͬͨΒ͍͠ • Perl5 զʑͷ஌ͬͯΔPerl ΋͸΍ ਆ࿩

Slide 11

Slide 11 text

Perl 1.0 [ݕࡧ]

Slide 12

Slide 12 text

https://bitbucket.org/chastai/perl-1.0

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

ࠓͰ΋ ಈ࡞

Slide 15

Slide 15 text

Perl5ͷσʔλܕ • εΧϥʔ • ഑ྻ • ϋογϡ • ϦϑΝϨϯε

Slide 16

Slide 16 text

Perl1ͷσʔλܕ • εΧϥʔ • ഑ྻ • ϋογϡ • ϦϑΝϨϯε

Slide 17

Slide 17 text

Perl1ͷσʔλܕ • εΧϥʔ • ഑ྻ • ϋογϡ • ϦϑΝϨϯε

Slide 18

Slide 18 text

Perl1ͷσʔλܕ • εΧϥʔ • ഑ྻ + ࿈૝഑ྻ

Slide 19

Slide 19 text

Perl1ͷσʔλܕ • εΧϥʔ • ഑ྻ + ࿈૝഑ྻ

Slide 20

Slide 20 text

Perl1ͷσʔλܕ • String • String഑ྻ + ࿈૝഑ྻ

Slide 21

Slide 21 text

Perl1Ͱͳ͍΋ͷ • ൣғԋࢉࢠ • foreach (ग़དྷͳ͘͸ͳ͍) • ଞϞδϡʔϧ • use • my,our,local…

Slide 22

Slide 22 text

Perl1Ͱ͋Δ΋ͷ • ஔ׵ • ਖ਼نදݱ • Ϧετૢ࡞ (shift,unsift,pop,push) • @_ • จࣈྻԋࢉࢠ • chop • each

Slide 23

Slide 23 text

αϒϧʔνϯ΋͋Δͧ!! sub MAX { $max = pop(@_); while ($foo = pop(@_)) { $max = $foo if $max < $foo; } $max; } ... $bestday = do MAX($mon,$tue,$wed,$thu,$fri);

Slide 24

Slide 24 text

for loop΋ग़དྷΔͧ!! #!/usr/bin/env perl @array = (1,2,3,4,5,6,7,8,9,10); for ( $i = 0; $i < 10; $i++){ print $array[$i] ."\n"; }

Slide 25

Slide 25 text

for loop (੒ޭ) #!/usr/bin/env perl @array = (1,2,3,4,5,6,7,8,9,10); for ( $i = 0; $i < 10; $i++){ print $array["$i"] ."\n"; }

Slide 26

Slide 26 text

ऑ఺ • Ͳ͏΋γϯϘϧςʔϒϧʹΞΫηεͰ͖ͳ͍ • αϒϧʔνϯʹ഑ྻΛ౉ͤͳ͍
 (ग़དྷͳ͘͸ͳ͍) • ίϯύΠϧΤϥʔͷϝοηʔδ͕ແͯ͘ݫ͠ ͍

Slide 27

Slide 27 text

օ͞Μ ॻ͍ͯΈͨ͘ͳΓ·ͤΜ͔?

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

array_pop_shift.pl #!/usr/bin/env perl @names = ('Alice','Bob','Chris'); print pop @names . "\n"; print shift @names . "\n";

Slide 31

Slide 31 text

array_push_unshift.pl #!/usr/bin/env perl @names = ('Alice','Bob','Chris'); push(@names,"Diana"); unshift(@names,"Eve"); for ($i = 0; $i < $#names+1; $i++){ print $names["$i"]."\n"; }

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

ͦΕͬΆ͘ #!/usr/bin/env perl $my_profile['name'] = 'AnaTofuZ'; $my_profile['age'] = 21; $my_profile['food'] = 'apple'; print $my_profile["name"] . "\n"; print $my_profile["age"] . "\n"; print $my_profile["food"] . "\n";

Slide 34

Slide 34 text

!? apple apple apple

Slide 35

Slide 35 text

ਖ਼ղྫ #!/usr/bin/env perl $my_profile{'name'} = 'AnaTofuZ'; $my_profile{'age'} = 21; $my_profile{'food'} = 'apple'; print $my_profile{"name"} . "\n"; print $my_profile{"age"} . "\n"; print $my_profile{"food"} . "\n";

Slide 36

Slide 36 text

͜Ε΋ok #!/usr/bin/env perl ($my_profile{'name'},$my_profile{'age'}, $my_profile{'food'}) = ( 'AnaTofuZ',21,'apple'); print $my_profile{"name"} . "\n"; print $my_profile{"age"} . "\n"; print $my_profile{"food"} . "\n";

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

• .n #!/usr/bin/env perl $my_profile{'name'} = 'AnaTofuZ'; $my_profile{'age'} = 21; $my_profile{'food'} = 'apple'; @keys = keys(my_profile); for ($i = 0; $i < $#keys+1 ; $i++){ print $keys[$i] . "\n"; } $my_profile{'age'} = ""; if ( $my_profile{'age'} == ""){ print "Age is not exists (͋Δ͚Ͳ)\n"; } else { print "Age is exitst"; }

Slide 39

Slide 39 text

hash_func.plͰൃ֮ͨ͠໰୊఺ • delete͕ͳ͍ • undef͕ͳ͍ • exist΋ͳ͍ • ϋογϡͰ͸ͳ͋͘͘·Ͱศརͳ഑ྻ
 (ͨͩ͠഑ྻͷshiftͳͲ͸࢖͑ͳ͍)

Slide 40

Slide 40 text

Perl1.0ͷ࿈૝഑ྻ • ࿈૝഑ྻ͸͋͘·Ͱࢼݧతӡ༻ͩͬͨ • keys()ͳͲ͸؀ڥม਺ͷऔಘͰར༻Λ૝ఆ • ͪͳΈʹιʔτॱ͸ࣙॻॱ

Slide 41

Slide 41 text

͍ۤ͠……

Slide 42

Slide 42 text

݁࿦ • Perl5を使おう