Tag: perl

Perl的包函数与Java相当

我有一些Perl代码,我需要在Java中进行转置。 在这段代码中,我必须处理Perl的pack 。 Java中是否存在等效函数? Perl代码看起来像这样: $somevar = pack “H*”, $vartopack;

如何将OO Perl转换为Java?

我inheritance了OO Perl代码的大型单片体,需要逐步转换为Java(根据客户端请求)。 我知道这两种语言,但我的Perl技能很生疏。 有没有人可以推荐的工具(Eclipse插件?)来缓解疼痛?

如何将此Perl正则表达式转换为Java?

你会如何将这个Perl正则表达式翻译成Java? /pattern/i 编译时,它与“PattErn”不匹配,但它失败了 Pattern p = Pattern.compile(“/pattern/i”); Matcher m = p.matcher(“PattErn”); System.out.println(m.matches()); // prints “false”

Java相当于Perl的哈希值

由于超级灵活和方便,我一直在使用很多Perl哈希。 例如,在Perl中我可以执行以下操作: $hash{AREA_CODE}->{PHONE}->{STREET_ADDR} 我想知道如何用Java完成同样的事情,我想它与HashMap有关? 谢谢,

从java调用Perl,主要用于正则表达式匹配

我想从Java有效地执行Perl代码。 Perl的目的主要是执行正则表达式匹配(在某些测试中,Perl比Java更有效) 到目前为止,我发现了使用它的可能性: http : //metacpan.org/pod/Inline :: Java :: PerlInterpreter 另一种选择是在java中使用Runtime.exec()来调用Perl。 什么是最高性能的解决方案? 一个人比另一个人有优势吗? 我不能真正看到任何东西,除了PerlInterpreter仍然是实验性的,我不知道这是否会改变。 你知道从Java调用Perl的其他选项吗?

在Java中确定文件总字数的最佳方法是什么?

在Java中查找文本文件中单词总数的最佳方法是什么? 我认为Perl是最好的找到这样的东西。 如果这是真的那么从Java中调用Perl函数将是最好的? 在这样的条件下你会做什么? 还有更好的想法?

printf如何使用前导零进行浮点运算

我知道如何做X量的前导零,我知道如何做X小数点。 但是,我怎么做他们两个? 我希望有4个前导零到小数精度2:0000.00。 因此43.4将是0043.40

如何在Perl中设置文件读取缓冲区大小以针对大型文件进行优化?

据我所知,Java和Perl在读取文件时很难找到一个适合所有默认缓冲区大小的内容,但我发现他们的选择越来越过时,并且在更改默认选择时遇到问题Perl的。 在Perl的情况下,我认为默认情况下使用8K缓冲区,类似于Java的选择,我找不到使用perldoc网站搜索引擎(真的谷歌)的参考如何增加默认文件输入缓冲区大小, 64K。 从上面的链接,以显示8K缓冲区如何不缩放: 如果行通常每个约有60个字符,则10,000行文件中包含大约610,000个字符。 使用缓冲逐行读取文件只需要75次系统调用和75次磁盘等待,而不是10,001次。 因此,对于每行60个字符(包括末尾的换行符)的50,000,000行文件,使用8K缓冲区,它将进行366211次系统调用以读取2.8GiB文件。 顺便说一句,您可以通过在任务管理器进程列表中查看磁盘i / o读取增量(在Windows中至少,在* nix中显示同样的东西,我确定)作为您的Perl程序来确认此行为在文本文件中读取需要10分钟:) 有人问过关于在perlmonks上增加Perl输入缓冲区大小的问题,有人回答说你可以增加“$ /”的大小,从而增加缓冲区大小,但是从perldoc: 将$ /设置为对整数的引用,包含整数的标量或可转换为整数的标量将尝试读取记录而不是行,最大记录大小为引用的整数。 所以我假设这实际上并没有增加Perl在使用典型时从磁盘读取的缓冲区大小: while() { #do something with $_ here … } “逐行”成语。 现在它可能是一个不同的“一次读取一条记录,然后将其解析成行”,上述代码的版本通常会更快,并且绕过标准习惯用语的底层问题而无法更改默认缓冲区大小(如果确实不可能),因为您可以将“记录大小”设置为您想要的任何内容,然后将每条记录解析为单独的行,并希望 Perl做正确的事情并最终为每条记录执行一次系统调用,但它增加复杂性,我真正想做的就是通过将上面示例中使用的缓冲区增加到相当大的大小(例如64K),甚至将缓冲区大小调整到最佳大小以便使用测试进行长读取来获得轻松的性能提升我的系统上的脚本,无需额外的麻烦。 对于增加缓冲区大小的直接支持,Java中的情况要好得多。 在Java中,我相信java.io.BufferedReader使用的当前默认缓冲区大小也是8192字节,尽管JDK文档中的最新引用是模棱两可的,例如,1.5文档仅说: 可以指定缓冲区大小,或者可以接受默认大小。 对于大多数用途,默认值足够大。 幸运的是,您不必相信JDK开发人员可以为您的应用程序做出正确的决定,并且可以设置自己的缓冲区大小(在此示例中为64K): import java.io.BufferedReader; […] reader = new BufferedReader(new InputStreamReader(fileInputStream, “UTF-8”), 65536); […] while (true) { String line = reader.readLine(); if (line == null) […]

机械化为Java

我想知道是否有类似Perl的/ Python的Java机制。 谢谢!

在Java中包含Perl

有没有办法执行perl代码而不必使用Runtime.getRuntime.exec(“…”); (在java应用程序中解析)?