问题标签 [strawberry-perl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 如何将打开的 TCP 套接字从 Perl 传递到 Windows 应用程序作为标准输入和标准输出
我正在尝试将来自 Perl 程序的开放 TCP 套接字连接作为标准输入和标准输出传递到 Windows 上的外部应用程序,类似于 Unix 世界中的 inetd 所做的。
我试过的:
/li>open
使用orPOSIX::dup2
并调用 exec通过套接字“替换”标准输入和标准输出:使用
/li>IPC::open3
:
在这两种情况下,执行的程序都会收到不是套接字的东西(也许是管道?),这是一个问题,因为它想使用select
. 在 Windowsselect
上仅适用于套接字。
我该怎么做才能将套接字传递给外部应用程序?
顺便说一句,我使用的是草莓 Perl,而不是 ActiveState。
perl - 在 Perl 中定位内存泄漏时遇到问题
我在这段代码中遇到了内存泄漏(我认为):
这是来自一个 sub,输入来自XMLin()(来自XML::Simple)。具体来说,输入是(如果重要的话)
where$lat
和$lon
是纬度和经度。
代码需要几个小时才能运行将数据插入 SQL 服务器,而且在完成之前,Perl 实例占用了几 GB 或更多的 RAM。我确信这对某人来说很简单,但我充其量只是 Perl 的新手。
windows - Windows 上的 perl 初学者 - 在 Windows 命令提示符下执行 perl -n -e 时出现问题
我使用 W7 64bit,我刚刚安装了草莓 perl。我需要从 windows 命令行执行一个简单的脚本来操作文本文件:
我得到错误:
它在里面PATH
,我也可以打电话perl -v
。我尝试添加空格、替换'
为"
、反斜杠等,但没有用。
我查看了教程并在网上搜索,发现很多这样的陈述,所以看起来这个陈述应该有效。但事实并非如此。
有人能帮帮我吗?错误在哪里?
oracle - 从 Strawberry Perl 连接到 Oracle
我从 CPAN 安装了 DBD::Oracle 并尝试使用以下代码连接到 Oracle DB:
但我收到以下错误消息:
有人可以帮我解决这个问题吗?
值得一提的是,我添加C:\instantclient_11_2
了路径环境变量 + 我创建了一个环境变量ORACLE_HOME
并将其设置为c:\instantclient_11_2
.
xml - 在 Strawberry Perl 中安装 XML::Tidy
尝试在 Strawberry Perl 中安装 XML::Tidy 时
运行测试时出现以下错误。
我完全不知道这里有什么问题。任何人?
perl - 草莓 perl CPAN dmake 不会构建
我在使用草莓 perl 5.16.2.2 64 位及更高版本安装 CPAN 模块时遇到问题。从 CPAN 安装时,dmake 无法构建模块并出现以下错误:
经过广泛的研究,我发现问题的解决方法是将 SHELL=cmd.exe 添加到 perl Makefile.PL 生成的 dmake Makefile 文件的顶部,然后可以使用安装模块
问题是,如果不尝试 CPAN 安装、编辑 Makefile 并在 cpan/build 目录中手动运行 dmake,则不会自动安装任何 CPAN 模块。使用环境变量 SHELL=cmd.exe 或 MAKESHELL=cmd.exe 不起作用,因为如果使用,构建将无法正确运行。
有谁知道为什么我的 Windows 7 64 位机器有这个问题的解决方法?
是否有任何 cpan 或其他技术的配置,以便我不必为我的草莓 perl 安装手动编辑和运行每个 CPAN 模块的 dmake makefile?
windows - Windows脚本自动更新用exec替换当前可执行文件?
我正在尝试在 Perl Windows 中构建一个快速的自动更新程序。我注意到,当我调用cpanp
安装包的更新时,它无法安装新版本的脚本,因为脚本当前正在运行。我正在打电话cpanp
。CORE::system()
如果我打电话cpanp
,exec()
那会释放可执行文件以进行替换吗?或者,即使执行已完全移交给 Windows 是否仍将其捆绑cpanp
?
目前,我的流程看起来像这样,
- 从服务器下载META.yml
- 解析出 META.yml 的版本
- 对比现在的
$VERSION
- 如果当前版本较低,则使用 META.yml 中的数据生成版本字符串
- 使用 META.yml 的主机/路径和版本/数据信息生成打包的 URL
- 通知用户更新
- Spawn
cpanp
使用 URL 运行更新。
- 如果当前版本相同
- 没做什么
- 如果当前版本较低,则使用 META.yml 中的数据生成版本字符串
在替换可执行文件方面与 Win32 上的行为会system()
有所不同吗?exec()
在 Linux 上,它按设计工作。
mysql - Perl DBI 模块中的操作失败未指示错误
我正在执行类似于以下的脚本,当操作失败时,该execute
函数返回一个未定义的值,因此我可以检测到它失败了,这很好。但是,我发现err()
并errstr
没有返回任何东西。我期望分别得到错误代码和错误消息。我做错了什么?感谢您提供任何信息。
输出:
我在 64 位 Windows 7 系统上使用 Strawberry Perl(32 位)。(我正在使用 32 位版本,因为我使用的另一个模块不适用于 64 位版本。)perl.exe --version
说:“这是为 MSWin32 构建的 perl 5,版本 16,subversion 3 (v5.16.3)- x86-多线程"
windows - 在 Perl 中将 .exe 转换为 .pl?
我正在尝试从可执行 (.exe) 文件中获取 Perl 脚本 (.pl)。.exe 文件最初是用 Perl 编码的,但没有保留 .pl 文件。有没有快速的方法来做到这一点?我正在为 Windows 使用草莓 Perl。
谢谢
win32gui - win32::gui::LoadImage 没有返回任何内容
我在 Microsoft Windows 7 系统上使用为 MSWin32-x86-multi-thread 和 win32::GUI 构建的 Strawberry Perl (v5.16.3)。我正在使用 Eclipse/EPIC 编写和测试代码。
我正在尝试显示图片/位图/图标/光标。已经尝试了所有 3,结果相同,从 win32::gui::LoadImage 没有返回任何内容。
我在 gui.PM 中添加了一些打印行进行调试,并且我有一个测试脚本来测试这个 gui 函数。由于 win32::gui::LoadImage 子例程的代码不在 GUI.PM 模块中,它是从 C 库还是 Windows 中包含的?调用 win32::gui::LoadImage 的代码是否需要更改?
提前感谢鲍勃的帮助