Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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を使おう