我在连接到远程服务器的个人计算机上编写脚本。我认为远程服务器安装了Perl 4.0或更低版本,这就是为什么它无法识别相同的原因。是否有另外一个chomp
命令?如果我有Perl 4,我该如何chomp一个字符串?
2
A
回答
5
这不是一个确切的替代品,但你可以尝试:
$var =~ s/\r?\n?$//
这将剥夺或者CRLF(DOS),LF(UNIX),CR(Mac吗?)。
正常的chomp操作符总是将当前定义的$INPUT_RECORD_SEPARATOR
去掉当前的O/S。
+0
好主意,但如果$ var可能包含多个\ n分隔的行,请注意 - 根据Perl 4在正则表达式中解释“$”的方式,上述可能会删除第一个\ n而不是最后一个。 – 2009-04-28 18:30:05
0
我相信chop()被用在pre-5 perl中。不如chomp()当然有用。如果你正在处理随机输入你很可能会更好使用正则表达式,但如果你总是解析UNIX格式的文件:
while (<F>) {
chop();
do_stuff();
}
如下状态的评论,印章()始终删除最后左值的字符,而不仅仅是换行符(或var结尾的内容)。我知道这个(因此“不如chomp()”评论)有用,但忘了实际输入它。
1
去砍路线是不好的建议,我会使用正则表达式,他们更可持续和透明的其他人。习惯性地修改记录变量最终会最终影响一些不好的包并导致奇怪的事情发生。
相关问题
- 1. 如果the_meta()为空,我该如何回显一个字符串?
- 2. 如何切割字符串?如果我有一个字符串例如
- 3. 如果我在Python中有这个字符串,我该如何解码它?
- 4. 我该如何让Perl每次从STDIN输入一个字符?
- 5. 如果检测到空白,我该如何分割一个字符串?
- 6. 我该如何替换json字符串?
- 7. 我如何在一个字符串
- 8. 斯卡拉:字符串Chomp
- 9. 我该如何更换一个字符串?
- 10. 如何我的JSON字符串应该是一个图像URL
- 11. 我应该如何分隔一个字符串?
- 12. 我该如何操纵一个nginx变量字符串
- 13. 如果字符串在Java中有多个空格,我该如何插入一个单词?
- 14. 什么是建立一个字符串,如果我有字符和长度
- 15. 如果我有一个void指针,我该如何将一个int放入它?
- 16. 我该如何grep一个以短划线/连字符开头的字符串?
- 17. 我如何使用Perl比较两个字符串
- 18. PHP - 我如何修剪一个字符串为四个字符?
- 19. 如何获取Android字符串数组,如果我有另一个字符串中的数组名称
- 20. 我如何得到一个没有使用C#子字符串的最后4个字符的名字?
- 21. 方式,如果有一个字符串的任何字符
- 22. 如果我们有一个类作为变量的项目,如何将该值作为字符串提醒?
- 23. 假如整个字符串太长,我该如何去掉一个子字符串? (M4)
- 24. 如何提取第一个子字符串我包含一个字符串/?
- 25. 我如何才能知道我有一个字符串,如与C#
- 26. 如果我有三个文件,我该如何放置链接?
- 27. 入门如果我的阵列有我的字符串C#
- 28. 我应该如何从我的字符串URL删除+(SWIFT)
- 29. 我如何从字符串
- 30. 我该如何逃避这个字符串?
Perl 4?真的吗? Perl 5已经出现了将近15年 - 自1994年10月17日以来,确切而言就是这样。你连接到一台尚未升级的机器?我建议再次检查。 – Tanktalus 2009-04-28 15:17:29
有些机器只有Perl 4才有。你不必喜欢它,但它是真的。 – 2009-04-29 14:23:16