- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
debug.txt"); binmode(D); print D $data; close D; 输-6ren">
我正在尝试使用以下代码读取二进制文件:
open(F, "<$file") || die "Can't read $file: $!\n";
binmode(F);
$data = <F>;
close F;
open (D,">debug.txt");
binmode(D);
print D $data;
close D;
输入文件为16M; debug.txt 只有大约 400k。当我在 emacs 中查看 debug.txt 时,最后两个字符是 ^A^C(根据 notepad++ 的 SOH 和 ETX 字符),尽管 debug.txt 中存在相同的模式。文件中的下一行确实有一个 ^O (SI) 字符,我认为这是该特定字符的第一次出现。
如何阅读整个文件?
最佳答案
如果您真的想一次读取整个文件,请使用 slurp 模式。可以通过将 $/
(输入记录分隔符)设置为 undef
来打开 Slurp 模式。这最好在一个单独的 block 中完成,这样您就不会将 $/
弄乱其他代码。
my $data;
{
open my $input_handle, '<', $file or die "Cannot open $file for reading: $!\n";
binmode $input_handle;
local $/;
$data = <$input_handle>;
close $input_handle;
}
open $output_handle, '>', 'debug.txt' or die "Cannot open debug.txt for writing: $!\n";
binmode $output_handle;
print {$output_handle} $data;
close $output_handle;
使用 my $data
作为词法,使用 our $data
作为全局变量。
关于perl - 使用 ActivePerl 读取二进制文件时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502904/
我安装了 On Windows 7 64-bit OS ActivePerl 64bit Version 5.16.3.1603 on D disk as D:/perl64 我控制了windows路
我正在尝试使用以下代码读取二进制文件: open(F, "; close F; open (D,">debug.txt"); binmode(D); print D $data; close D; 输
我正在使用以下代码来测试向浏览器输出 fatal error : use CGI; use CGI::Carp qw(fatalsToBrowser); die "test"; 我希望在浏览器中看到一
我最近将我的客户端 64 位 ActivePerl 版本从 5.10.1.1007 版本升级到 5.22.2.2203,并且遇到了很多问题。 我真的更愿意跳到 Strawberry,但我必须先在我每天
我安装了 ActivePerl 版本 5.12.2.1202 和 PPM 版本 4.11。 我想使用带有 GUI 的调试器,我可以在其中查看 Perl 程序变量。在对 Eclipse 和 EPIC 感
除非我使用备份扩展指定它们,否则我无法就地编辑在 ActivePerl 下运行的 Perl 单行代码: C:\> perl -i -ape "splice (@F, 2, 0, q(inserted
我有一个在 Windows 中运行的 perl 代码,在 apache2.2 上使用 activeperl 5.8 和 mysql 作为数据库。我只是好奇,我可以在不破坏系统任何东西的情况下迁移到 s
鉴于我已经编译了一些 unix 程序,我可能需要做些什么来将它重新定位到不同的目录并让它继续正常运行。 我正在考虑 Perl,但对其他系统(如 Apache)感兴趣,这些系统在完成后似乎也会失败。为了
我已经在我的 Windows 操作系统上安装了 ActivePerl。我已关注以下网址安装步骤 ActivePerl Installation 完成后,我尝试在命令行上运行“perl -v”。但是报如
我有 perl 脚本,截至今天早上,这些脚本在 Windows 7 中运行良好。我错误地将记事本用作打开/编辑我的 .pl 文件的默认设置。现在,当我尝试从 DOS 提示符下运行未经编辑的 .pl 文
我是 Perl 新手,我正在使用 ActivePerl . 我收到以下错误: Can't locate XML/LibXML.pm in @INC... 我已经尝试了所有方法,但找不到为 XML::L
我想使用 gmail 的 smtp 服务器和 perl 发送电子邮件。我正在尝试安装 Email::Send::Gmail ,但我不清楚安装它的步骤是什么。似乎它取决于我没有安装的其他模块。 最佳答案
我最近在我的 Windows XP 上安装了 ActivePerl 5.12.2.1202 C:/Perl .我是 Perl 脚本的新手。 我只想运行一个 Perl 程序,其中包含一个 print语句
PPM 的版本(4.06,我在 Windows 下运行)直接将我带入 GUI,这很好,但由于我对命令行提示符非常满意,所以我仍然想找到一种方法来获取命令行提示符而不是 GUI。 最佳答案 如果您不带参
我在 Windows 上的 Perl (ActivePerl) 上使用 fork() 作为基本的套接字服务器,但显然存在问题(它不会在几次后接受连接),是吗任何解决方法? 相关代码部分如下: whil
我想使用 cygwin 工具(屏幕)进行开发,从 cygwin 环境调用 ActiveState Perl 调试器会引发以下错误。 bash-3.2$ perl -d test.pl The syst
在 ActivePerl 中,“ppm”从 Internet 安装包,“ppm install x.ppd”从 ppd 文件安装,但大多数 CPAN 包以 .tar.gz 的形式分发 如何为没有 In
Perl 是 Practical Extraction and Report Language 的缩写 "实用报表提取语言"。 ActiveStatePerl 和 Strawb
我正在尝试安装该模块以发送邮件。 我收到以下错误: Warning: Prerequisite 'IO::Socket::SSL => ' for 'CWEST/Net-SMTP-SSL-1.01.t
在 Windows 上的 ActivePerl 中,如何打开浏览器访问某个 URL? 在 Python 中,有 webbrowser.open(url),但我似乎找不到 Perl 的等价物。 最佳答案
我是一名优秀的程序员,十分优秀!