undef之误

来源:互联网 发布:淘宝店铺简介女装 编辑:程序博客网 时间:2024/04/28 09:16
perl是一门很接近自然语言的计算机语言,是一门可以当散文来写的计算机语言。
正是因为这点,今天我犯了下面的错误,整整耗费了我一个小时,知道我快发疯的时候
才发现。
这个来自一个类,只其中的一个方法
#! /usr/bin/perl -wuse strict;use Data::Dumper::Simple;sub crazy{ my $self = shift; die "rent not paied:$!" unless undef $self->{rent}; #here! #.... do sth with $self->{rent}}
“如果没有房租,就去死“---多么的自然啊!
但是undef不是defined的反义词, 实际上她是把一切的东西变没有的方法。在unless的作用之下,
这句话就变成了废话。
原创粉丝点击