小编rob*_*sia的帖子

在Windows上突出显示或强调输出到stdout

背景

我需要将Perl脚本从Linux移植到Windows.脚本输出到stdout并突出显示并根据需要为特定单词加下划线.在Linux中,这可以通过将系统调用包围在一起来实现tput:

tput smsotput rmso突出显示

tput smultput rmul强调

Windows上是否有可以轻松实现此功能的系统调用?如果没有,有没有人知道可以实现类似结果的解决方法?

windows powershell perl cmd

3
推荐指数
1
解决办法
186
查看次数

Python ctypes.c_int到Perl XS(或非XS)转换(Javascript签名的32位按位移位运算符转换)

背景

我们需要将Javascript哈希算法转换为Perl代码.因此,我们需要将Javascript的按位移位运算符<<,>>和>>>转换为Perl.到目前为止,我们有进行转换的算法,但由于Javascript按位移位运算符在32位整数上运行,我们还需要在Perl中模拟它.

Python解决方案

基于这篇文章/sf/answers/2912724391/,我们了解到我们可以使用ctypes在Python中执行此操作.例如,要将整数左移x位:

import ctypes
print (ctypes.c_int(integer << x ^ 0).value)
Run Code Online (Sandbox Code Playgroud)

Perl的问题

我的理解是我们需要使用XS来做到这一点.我的问题是,是否有人有快速解决方案来实施它.我们不知道XS.我们可以开始学习它,但从我的印象来看,学习曲线相当高,可能需要一段时间才能掌握它.当然,非XS解决方案是理想的,如果存在的话.任何解决方案或提示将不胜感激.

解决方法

由于我们已经有了Python解决方案,我们可以在Python中实现这个模块,然后从Perl中调用它.性能不是真正的问题,因此这种"黑客"是可以接受的,尽管有点不受欢迎.换句话说,我们更愿意仅在Perl中维护整个程序(由几个模块组成).

javascript python perl bitwise-operators

0
推荐指数
1
解决办法
112
查看次数

标签 统计

perl ×2

bitwise-operators ×1

cmd ×1

javascript ×1

powershell ×1

python ×1

windows ×1