perl6 – perl 5和perl 6下的文件ctime不同
发布时间:2020-12-16 06:16:07 所属栏目:大数据 来源:网络整理
导读:操作系统: Windows Server 2012 R2 Standart FS:NTFS === perl5 e:temporaryperl -vThis is perl 5,version 22,subversion 0 (v5.22.0) built for MSWin32-x64-multi-threade:temporarytype ctime.pluse File::stat;use Time::Piece;my $fn1 = 't:tempo
操作系统:
Windows Server 2012 R2 Standart
FS:NTFS === perl5 e:temporary>perl -v This is perl 5,version 22,subversion 0 (v5.22.0) built for MSWin32-x64-multi-thread e:temporary>type ctime.pl use File::stat; use Time::Piece; my $fn1 = 't:temporarytiaЭнергияprint.pdf'; my $fn2 = 't:temporarytiaЭнергияkl_to_1c.txt'; for ($fn1,$fn2) { my $fs = stat($_); print "$_n"; print 'changed ',gmtime($fs->ctime)->datetime,"n"; print 'modified ',gmtime($fs->mtime)->datetime,"n"; print 'accessed ',gmtime($fs->atime)->datetime,"n"; } e:temporary>perl ctime.pl t:temporarytiaЭнергияprint.pdf changed 2016-07-01T03:48:22 <== (1) modified 2016-05-04T03:03:08 accessed 2016-07-01T03:48:22 t:temporarytiaЭнергияkl_to_1c.txt changed 2016-07-01T03:48:22 <== (3) modified 2016-07-01T03:11:00 accessed 2016-07-01T03:48:22 === perl6 e:temporary>perl6 -v This is Rakudo version 2016.04 built on MoarVM version 2016.04 implementing Perl 6.c. e:temporary>type ctime.pl6 use v6; my $fio1 = 't:temporarytiaЭнергияprint.pdf'.IO; my $fio2 = 't:temporarytiaЭнергияkl_to_1c.txt'.IO; for $fio1,$fio2 { say .path; say 'changed ',.changed.DateTime.truncated-to('second'); say 'modified ',.modified.DateTime.truncated-to('second'); say 'accessed ',.accessed.DateTime.truncated-to('second'); } e:temporary>perl6 ctime.pl6 t:temporarytiaЭнергияprint.pdf changed 2016-05-04T03:03:08Z <== (2) modified 2016-05-04T03:03:08Z accessed 2016-07-01T03:48:22Z t:temporarytiaЭнергияkl_to_1c.txt changed 2016-07-01T05:46:12Z <== (4) modified 2016-07-01T03:11:00Z accessed 2016-07-01T03:48:22Z 为什么(1),(2)和(3),(4)不同? 再现(1),(2). changed 2016-06-30T16:38:42 modified 2016-06-30T16:38:48 accessed 2016-06-30T16:38:42 来自perl6: changed 2016-06-30T16:38:48Z modified 2016-06-30T16:38:48Z accessed 2016-06-30T16:38:42Z 2)几分钟后编辑此文件.差异将更加明显. changed 2016-06-30T16:38:42 <== modified 2016-06-30T16:49:17 accessed 2016-06-30T16:38:42 来自perl6: changed 2016-06-30T16:49:17Z <== modified 2016-06-30T16:49:17Z accessed 2016-06-30T16:38:42Z 来自cgwin / babun的’stat’: { ~ } ? stat t:/temporary/tia/Энергия/print.pdf ~ File: ‘t:/temporary/tia/Энергия/print.pdf’ Size: 81595 Blocks: 80 IO Block: 65536 regular file Device: dfe235h/14672437d Inode: 26458647810801926 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 500/Administrator) Gid: ( 513/Domain Users) Access: 2016-07-01 09:48:22.578784100 +0600 Modify: 2016-05-04 09:03:08.602697600 +0600 Change: 2016-05-04 09:03:08.602697600 +0600 Birth: 2016-07-01 09:48:22.578784100 +0600 { ~ } ? stat t:/temporary/tia/Энергия/kl_to_1c.txt ~ 1 File: ‘t:/temporary/tia/Энергия/kl_to_1c.txt’ Size: 4596 Blocks: 8 IO Block: 65536 regular file Device: dfe235h/14672437d Inode: 24769797950537989 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 500/Administrator) Gid: ( 513/Domain Users) Access: 2016-07-01 09:48:22.563158800 +0600 Modify: 2016-07-01 09:11:00.585249200 +0600 Change: 2016-07-01 11:46:12.037712200 +0600 Birth: 2016-07-01 09:48:22.563158800 +0600 解决方法
这可能是源自libuv的错误(参见:
https://irclog.perlgeek.de/perl6/2016-07-11#i_12818620).即使它是,它也不应该进入Perl 6代码.请提交针对Rakudo的错误报告(参见:
http://rakudo.org/tickets/).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |