ä»è¨èªãç¹ã«ãªã¼ã½ããã¯ã¹ãªcobol,c,java,vbçã®äººãPerlãããå§ããã¨è¬ã ããã§æ©ããã¨ã«ãªãã¾ããã
ãããªäººã®ããã«ãåè¶ãªããç§ãè¬ã解ãæããã¦ããã¾ããï¼ãPerlerã®æ¹ã¯æ¸©ããè¦å®ã£ã¦ãã ãããï¼ï¼¾oï¼¾ï¼
âå¤æ°çã®é æåã£ã¦ä½ãæå³ããã®ï¼
Perlãããå§ããã¨å¤æ°çã®é æåï¼$,@,%,&,*,ä½ãç¡ãï¼ãæ°ã«ãªãã¾ãã
ã$ããä»ãã·ã³ãã«ã¯ãã¹ã«ã©ã¼å¤æ°ã§ãæ°å¤ãæååãªã©ä½ã§ãå
¥ã・・・VBã§è¨ãã°ãvariantåã®ãããªå¤æ°ã§ãã
ã$ãã¯Scalarã®ãSãã«ä¼¼ã¦ããã®ã§ãã¹ã«ã©ã¼å¤æ°ã表ãã¾ãã
ã@ããä»ãã·ã³ãã«ã¯ãé
åå¤æ°ã§ãé
åã®è¦ç´ ã¯ã¹ã«ã©ã¼å¤æ°ã¨åãã§ãä½ã§ãå
¥ãã
ã@ãã¯arrayã®ãaãã«ä¼¼ã¦ããã®ã§ãé
åå¤æ°ã表ãã¾ãã
ã%ããä»ãã·ã³ãã«ã¯ãããã·ã¥å¤æ°ã§ãããã·ã¥ã¯keyã¨valueã対ã§æã£ã¦ãã¦ãvalueã¯ã¹ã«ã©ã¼å¤æ°ã¨åãã§ãä½ã§ãå
¥ãã
ã%ãã¯keyã¨valueã®å¯¾ã表ãã¦ãã¦ãããã·ã¥å¤æ°ã表ãã¾ãã
ã&ããä»ãã·ã³ãã«ã¯ããµãã«ã¼ãã³ã§ãå®ã¯ã&ããé ã«ä»ãããããå°¾ã«ã()ããã¤ãã¦ãµãã«ã¼ãã³ãæ示ããæ¹ãå¤ãã§ãã
ã&ãã¯Subã®ãSãã«ä¼¼ã¦ããã®ã§ããµãã«ã¼ãã³ï¼ããã¯èªä¿¡ããªãï¼ã表ãã¾ãã
ï¼ã¢ãã³Perlã§ã¯ãã&ãã¯ä»ããªãã¨ã®ãã¨ã§ããå³ãåç
§ã®ãã¨ã第124回 サブルーチンの頭に&は普通つけないãï¼
ã*ããä»ãã·ã³ãã«ã¯ãåã°ããã§ãé æå以å¤ååã®ã·ã³ãã«ãã¹ã¦ã表ãã¾ãã
ã*ãã¨è¨ãã°ãã¯ã¤ã«ãã«ã¼ãã§ããã
ä½ãã¤ããªãã·ã³ãã«ã¯ããã¢ã¯ã¼ãã§ããã¡ã¤ã«ãã³ãã«ãå¼æ°ã®ãªãçµã¿è¾¼ã¿é¢æ°ããã¢ããã¥ã¡ã³ãã®çµç«¯å¤ãã©ãã«ãåãªãæååãªã©ãªã©ï½¥ï½¥ï½¥ã
âãã¡ãã¼æå
ã¡ãªã¿ã«ããããã®é æåã®ãã¨ãPerl ã§ã¯ããã¡ãã¼æåï¼funny characterï¼ãã¨ããã§ãã¾ãã
å®ã¯ãã¡ãã¼æåã使ããã¨ã«ãããå°æ¥ä½¿ãããã§ãããäºç´èªããã¼ã¯ã¼ãã¨ãã¶ããã¨ãããã¾ããã
ä»ã®è¨èªã§ã¯ããã¶ãå¯è½æ§ãããããã¶ã£ãæã«éå»ã®è³ç£ã使ããªããªãã®ã§ãã
ã¤ã¾ããPerlã§ã¯ããã¡ãã¼æåã使ããã¨ã«ãããéå»ã®è³ç£ã使ããªããªããã¨ãç¡ãã®ã§ãã
âãµã³ãã«
$hoge = 123; # ã¹ã«ã©ã¼å¤æ° @hoge = (1, 2, 3); # é åå¤æ° %hoge = (a => 1, b => 2, c => 3); # ããã·ã¥å¤æ° print "-----&hoge------------\n"; &hoge; # ãµãã«ã¼ãã³ print "-----&foox(*hoge)------\n"; &foox(*hoge); sub hoge { print "$hoge", "\n"; # ã¹ã«ã©ã¼å¤æ° print "$hoge[0]$hoge[1]$hoge[2]", "\n";# é åå¤æ° print "$hoge{a}$hoge{b}$hoge{c}", "\n";# ããã·ã¥å¤æ° } sub foox { (*foo) = @_; print "$foo", "\n"; # ã¹ã«ã©ã¼å¤æ° print "$foo[0]$foo[1]$foo[2]", "\n";# é åå¤æ° print "$foo{a}$foo{b}$foo{c}", "\n";# ããã·ã¥å¤æ° print "-----&foo--------------\n"; &foo; # ãµãã«ã¼ãã³ }
âå®è¡çµæ
C:\perltest>perl sysbol.pl -----&hoge------------ 123 123 123 -----&foo(*hoge)------ 123 123 123 -----&foo-------------- 123 123 123
ä¸è¨ãµã³ãã«ã¯ãåã°ããã¨åå¤æ°ã®é¢ä¿ã示ãããããã¹ã¦ã°ãã¼ãã«å¤æ°ã«ãªã£ã¦ãã¾ãã
ããããã¢ãã³Perlã§ã¯ãªãã¹ãã°ãã¼ãã«å¤æ°ã¯ä½¿ãããmyã§ãã¼ã«ã«å¤æ°ã«ãã¦å¦çããã®ãæ¨å¥¨ã§ãã
ã¾ãããµãã«ã¼ãã³ã®ã&foo;ãããfoo();ãã®è¨è¿°ã®æ¹ãæ¨å¥¨ã§ãã
âè¬ã·ãªã¼ãºï¼äºåï¼
- è¬ï¼ãã®ï¼ï¼ï¼æ¯è¼å ããªãæ¯è¼ã¨ä»£å ¥æããªãä»£å ¥
- è¬ï¼ãã®ï¼ï¼ï¼subã®ããã©ã«ããªã¿ã¼ã³å¤
- è¬ï¼ãã®ï¼ï¼ï¼ã³ã³ããã¹ãã§æå³ãå¤ããé¢æ°
- è¬ï¼ãã®ï¼ï¼ï¼æ§é ä½ããªããã¼ã¿æ§é
- è¬ï¼ãã®ï¼ï¼ï¼foreachæãforæã«
- è¬ï¼ãã®ï¼ï¼ï¼mãããæ¼ç®åã®åºåãæå
- è¬ï¼ãã®ï¼ï¼ï¼æ£è¦è¡¨ç¾ã®è¨æ¶$1ãã¨ã¯
- è¬ï¼ãã®ï¼ï¼ï¼åç¬shift
- è¬ï¼ãã®10ï¼ï¼blessã¨ã¯ä½ã