windows – 为什么Perl会抱怨“包含换行符的文件名不成功”?
发布时间:2020-12-14 02:08:54 所属栏目:Windows 来源:网络整理
导读:我收到一个我不明白的错误.我正在使用File:Find使用Activestate Perl 5.8.8在 Windows上递归fylesystem并尝试使用stat $File :: Find :: name;所以我没有统计从文本文件扫描得到的文件名需要删除或换行删除.我无法获得文件修改时间,mtime在: my ($dev,$ino
我收到一个我不明白的错误.我正在使用File:Find使用Activestate Perl 5.8.8在
Windows上递归fylesystem并尝试使用stat $File :: Find :: name;所以我没有统计从文本文件扫描得到的文件名需要删除或换行删除.我无法获得文件修改时间,mtime在:
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($File::Find::name); 所以试试 -s $File::Find::name 给我错误:
找到的典型文件名是F01-01-10 Num 0-00000.pdf,但即使在E02中重命名也会出现相同的错误.pdf 解决方法
根据
perldiag,如果任何文件操作失败并且文件名恰好包含换行符,则将发出警告“包含换行符的文件名不成功”.
假设,正如你所说,文件名来自标准输入或类似文件,并且用户忘记了取消换行符.你可能想要通过chomp传递字符串,只是为了看它是否有效. 还有some evidence& CORE :: stat mtime可能会被OS patchlevel和ActiveState Perl版本的某些组合打破 – 建议的解决方法是使用File::stat模块,如下所示: my $sb = stat($File::Find::name); my $mtime = scalar localtime $sb->mtime; …你可能会发现File :: stat的对象表示比CORE :: stat返回的列表更方便. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用SSH2 pecl扩展为Windows编译PHP的问题
- windows-server-2008 – 经过MS Windows Server 2008认证的
- windows-phone-7 – Windows Phone 7的日历控件?
- windows – 使用’目标主机无法访问’从同一台计算机ping“
- Windows – 如何使用指定的程序从命令行打开文件?
- windows-server-2008 – 你何时会使用“密码永不过期”选项
- cygwin – 用Cywgin启动X.
- windows-server-2008-r2 – Windows Server 2008 R2上的IIS
- 已安装的窗口挂钩列表
- windows-server-2008 – 我可以为新的域控制器重用失败的域
推荐文章
站长推荐
- 如何在StandardStyles.xaml中定义基元
- winforms – 在F#中使用Windows窗体的面向对象的
- 在Windows / OSX / Linux上为Python中的图标添加
- 什么是Kindle for Windows Phone 7中使用的控件
- windows-sbs-2008 – 永久删除SBS监控(SBS 2008/
- 使用Interop.domino.dll的C#控制台应用程序 – 在
- rest – Microsoft Graph API选择并过滤日历中的
- Emacs 24.3 for windows,Tramp byte-code:找不到
- .net – AssemblyInfo属性如何映射到Win32 VERSI
- windows – 向管理员组外的用户授予服务控制管理
热点阅读