畅享博客 > 超级奶爸 > Perl > [原创]Perl Builder致命bug
2007-3-8 11:04:38

[原创]Perl Builder致命bug

本人使用的Perl Builder的2.0版本,发现两个问题

问题1:

现在执行以下代码:

$input=<STDIN>;

print $input;

测试输入数据:testdata

输出:.testdata

使用的是Perl Builder的Output。

导致的后果:无法得到想要的结果。

例如:

@array=qw [a b c d e f];

$input=<STDIN>;

print @array[$input];

 

测试数据:4

正确结果:e

实际结果:a

原因:因为$input里面实际存放的是输入的数据4,但是到了@array[$input]这里,就变成了@array[.4]了,对于.4,perl的处理是先根据上下文将其确认为数字标量,然后对0.4取整是0,所以就输出了数组的第一个元素a。

但是,将这段程序在命令行下面执行,就不会有问题,在Perl Express下面,也没有问题。

问题2:

在Perl Builder下面选择IO输入的时候,无法传递文件结束的标志Ctrl+Z(Windows环境),因为Perl Builder的IO输入是使用textbox+submit,无法接受文件接收标志。此时必须选用命令行调试了。Perl Builder自带了一个命令行,但是如果不选择启动参数的话居然启动不了,Perl Editor就可以做到,这一点很不方便。

另外,Perl Builder没有做对数据库和服务器的支持,Perl Express就做的很好,虽然做的很简单,但是调试很方便。

对几种编辑器功能做个排序:Perl Editor<Perl Builder<Perl Express

个人更喜欢Editplus,界面看起来太舒服了,字体也很漂亮。调试的话可以放到Perl Express里面,方便。


推荐到鲜果: 查阅更多相关主题的帖子: Software

评论

您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)