{"id":171,"date":"2017-02-10T09:06:26","date_gmt":"2017-02-10T00:06:26","guid":{"rendered":"https:\/\/www.toaru.net\/capricious_memo\/?p=171"},"modified":"2017-02-10T19:38:39","modified_gmt":"2017-02-10T10:38:39","slug":"pc20170210","status":"publish","type":"post","link":"https:\/\/www.toaru.net\/capricious_memo\/02-pc\/pc20170210\/","title":{"rendered":"Perl\u30b3\u30de\u30f3\u30c9 &#8211; \u899a\u3048\u66f8\u304d"},"content":{"rendered":"\u3088\u304f\u4f7f\u3046Perl\u30b3\u30de\u30f3\u30c9\u306e\u30e1\u30e2\u5e33\u4ee3\u308f\u308a\n\n<!-- ==== \u3010\u30d5\u30a1\u30a4\u30eb\u540d\u89e3\u6790\u3011 =============================================== -->\n<hr size=\"1\">\n\u3010\u30d5\u30a1\u30a4\u30eb\u540d\u89e3\u6790\u3011- File::Basename &#8211;<br>\n<pre style=\"margin:0 10px\">\nuse File::Basename;\nour @osType = ('Unix','VMS','MacOS','AmigaOS','MSDOS','MSWin32','DOS','Epoc','OS2','RISCOS');\nfileparse_set_fstype($osType[0]); ## - Set FileSystem -> Unix \u2190 \u30c7\u30d5\u30a9\u30eb\u30c8\u304cUnix\u306a\u306e\u3067\u7701\u7565\u53ef\u80fd\nour @extList = ('.jpg','.png'); ## - \u62e1\u5f35\u5b50\u3092\u5206\u3051\u305f\u3044\u5834\u5408\u306b\u306f\u3053\u306e\u5b9a\u7fa9\u304c\u5fc5\u9808\n<\/pre>\n<ol style=\"margin:0 10px\">\n&#8211; \u4f7f\u7528\u4f8b &#8211;\n<pre style=\"margin:0 10px\">\n\u5b9a\u7fa9\nmy $filepath = \"\/home\/sample\/file\/file_sample_01.jpg\";\n<dl style=\"margin:0 10px\">\n<li>\u30d5\u30a1\u30a4\u30eb\u540d\u53d6\u5f97\uff1abasename<\/li>\nmy $bn = basename($filepath);\n\u3000 $bn -> file_sample_01.jpg\nmy $bn = basename($filepath,@extList);\n\u3000 $bn -> file_sample_01\n\uff08\u203b\uff1a\u62e1\u5f35\u5b50\u306e\u5b9a\u7fa9\u3092\u5f15\u6570\u3067\u6e21\u3059\u3068\u3001\u62e1\u5f35\u5b50\u306f\u7701\u304b\u308c\u308b\uff09\n\n<li>\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u53d6\u5f97\uff1adirname<\/li>\n my $dir = dirname($filepath);\n\u3000 $dir -> \/home\/sample\/file\/\n\n<li>\u30d5\u30a1\u30a4\u30eb\u540d\u89e3\u6790\uff1afileparse<\/li>\nmy ($name,$path,$ext) = fileparse($filepath);\n\u3000 $name -> file_sample_01.jpg\n\u3000 $path -> \/home\/sample\/file\/\n\u3000 $ext ->\n\nmy ($name,$path,$ext) = fileparse($filepath,@extList);\n\u3000 $name -> file_sample_01\n\u3000 $path -> \/home\/sample\/file\/\n\u3000 $ext -> .jpg\n<\/dl>\n<\/pre>\n<\/ol>\n\n\n<!-- ==== \u3010\u30d5\u30a1\u30a4\u30eb\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u53d6\u5f97\u3011 ================================= -->\n<hr size=\"1\">\n\u3010\u30d5\u30a1\u30a4\u30eb\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u53d6\u5f97\u3011- stat &#8211;<br>\n<pre style=\"margin:0 10px\">\nmy $filename = \"sample.txt\";\nmy @filestat = stat $filename;\n\nmy ($sec, $min, $hour, $mday, $mon, $year) = localtime($filestat[9]);\n\n## - [8]\uff1a\u30a2\u30af\u30bb\u30b9\u65e5 \/ [9]\uff1a\u66f4\u65b0\u65e5\n<\/pre>\n\n\n<!-- ==== \u3010\u30d5\u30a1\u30a4\u30eb\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u5909\u66f4\u3011 ================================= -->\n<hr size=\"1\">\n\u3010\u30d5\u30a1\u30a4\u30eb\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u5909\u66f4\u3011- utime &#8211;<br>\n<pre style=\"margin:0 10px\">\nmy @filelist = ('sample.txt');\nmy $atime = time();\nmy $mtime = time();\n\nutime $atime, $mtime, @filelist;\n\n## - $atime\uff1a\u30a2\u30af\u30bb\u30b9\u65e5 \/ $mtime\uff1a\u66f4\u65b0\u65e5\n<\/pre>\n\n\n<!-- ==== \u3010\u6587\u5b57\u5217\u3092\u4efb\u610f\u306e\u533a\u5207\u308a\u7b87\u6240\u3067\u30bd\u30fc\u30c8\u3011 ============================= -->\n<hr size=\"1\">\n\u3010\u6587\u5b57\u5217\u3092\u4efb\u610f\u306e\u533a\u5207\u308a\u7b87\u6240\u3067\u30bd\u30fc\u30c8\u3011- sort with cmp &#8211;<br>\n<pre style=\"margin:0 10px\">\nmy @list = ('sampleList.txt');\nmy $sp = \",\";\nmy $n = 3; ## \u2190\u30bd\u30fc\u30c8\u3057\u305f\u3044\u7b87\u6240\n\nmy @result = sort { (split(\/$sp\/,$a))[$n] cmp (split(\/$sp\/,$b))[$n] } @list;\n\n## - $sp\uff1a\u533a\u5207\u308a\u6587\u5b57 \/ $n\uff1a\u30bd\u30fc\u30c8\u7b87\u6240\n<\/pre>\n\n\n<!-- ==== END ============================================================== -->\n<img decoding=\"async\" id=\"Report\" src=\"\" style=\"display:none;\"\/>\n<script language=\"JavaScript\">\n<!--\njQuery.noConflict();\nvar r$ = jQuery;\nr$(function()\n{\n  var rURL = \"https:\/\/www.toaru.net\/_report\/report.cgi?cpmemo&pc20170210&1&\" + document.referrer;\n  r$(\"#Report\").attr(\"src\",rURL);\n});\n-->\n<\/script>","protected":false},"excerpt":{"rendered":"\u3088\u304f\u4f7f\u3046Perl\u30b3\u30de\u30f3\u30c9\u306e\u30e1\u30e2\u5e33\u4ee3\u308f\u308a \u3010\u30d5\u30a1\u30a4\u30eb\u540d\u89e3\u6790\u3011- File::Basename &#8211; use File::Basename; our @osType = (&#8216;Unix&#8217;,&#8217;VMS&#8217;,&#8217;MacOS&#8217;, [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-171","post","type-post","status-publish","format-standard","hentry","category-02-pc"],"_links":{"self":[{"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/posts\/171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/comments?post=171"}],"version-history":[{"count":0,"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/posts\/171\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/media?parent=171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/categories?post=171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.toaru.net\/capricious_memo\/wp-json\/wp\/v2\/tags?post=171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}