1package Foo; 2use Class::Std; 3 4sub as_str : STRINGIFY { return 'foo' } 5sub as_num : NUMERIFY { return 42 } 6sub as_bool : BOOLIFY { return 1 } 7sub as_hash : HASHIFY { return {key=>'value'} } 8sub as_array : ARRAYIFY { return [99..101] } 9sub as_code : CODIFY { sub { return 'code' } } 10sub as_glob : GLOBIFY { local *FOO; return \*FOO } 11 12 13package main; 14 15my $obj = Foo->new(); 16 17use Smart::Comments; 18 19### "$obj" 20### 0+$obj 21 22my $bool = $obj?"true\n":"false\n"; 23### $bool 24 25### $obj->{key} 26 27### $obj->[1] 28 29### $obj->() 30 31### *{$obj} 32