perl高级排序中遇到的一个问题
2012-02-27 15:00
239 查看
由于工程需要,我要对数据库中所有设备名称按ascii码顺序出excel报表,因为跟其他数据一起存在一个哈希结构中,所以我要用到高级排序。
sub by_DEVICE_NAME (){
$ItemValue->{$a}{'DEVICENAME'} <=> $ItemValue->{$b}{'DEVICENAME'};
}
我的本意是按 ascii 字符排序,结果却非我所愿,根本就不排序,
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/wail.gif)
后来,翻出《perl 入门》,果断改成
sub by_DEVICE_NAME (){
$ItemValue->{$a}{'DEVICENAME'} cmp $ItemValue->{$b}{'DEVICENAME'};
}
看出区别了吧?
字符比较用 cmp ,数字比较用 <=>。
记下来当是一个教训,基础知识还得看。
sub by_DEVICE_NAME (){
$ItemValue->{$a}{'DEVICENAME'} <=> $ItemValue->{$b}{'DEVICENAME'};
}
我的本意是按 ascii 字符排序,结果却非我所愿,根本就不排序,
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/wail.gif)
后来,翻出《perl 入门》,果断改成
sub by_DEVICE_NAME (){
$ItemValue->{$a}{'DEVICENAME'} cmp $ItemValue->{$b}{'DEVICENAME'};
}
看出区别了吧?
字符比较用 cmp ,数字比较用 <=>。
记下来当是一个教训,基础知识还得看。
相关文章推荐
- 曾经遇到的一个另类的排序问题.
- 数据结构-单链表排序遇到的一个问题
- SQLServer使用identity函数生成带有自增列临时表遇到的一个排序问题
- 今天遇到一个关于STL中排序的问题, 怀疑是sort的bug!
- 一个linux内核编译时遇到的perl语法导致的编译问题解决
- JavaScript使用递归遇到的一个问题
- 遇到的一个xib问题
- Git提交遇到的一个问题
- 笔记:做一个MFC串口界面遇到的一些问题和解决思路
- 在tp3.2.3中使用 FormData 对象实现表单的文件上传功能遇到的一个问题及解决方法
- 创建符号连接是遇到的一个问题
- 有关autoresizingMask属性遇到的一个小问题
- ExpandableStickyListHeadersListView遇到的一个问题
- ExpandableStickyListHeadersListView遇到的一个问题
- 自定义控件自定义属性遇到的一个问题
- android theme主题使用遇到的一个小问题
- 使用boost.asio时遇到的一个小问题
- java工程项目里,在一个包里面,不能出现同名的类名,这问题是刚接触java才会遇到的,特别是新手一般都没有建立包,而是使用默认的,易出现同名的类名,导致eclipse提示错误
- 今天做开发时遇到的一个vs2005的问题
- Apache+Tomcat遇到一个乱码问题