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/).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
