Recently mdupont and I were discussing prepositional logic (n-triples in perl) and more to the point writing perl code that would accept (meaning parse as valid perl) statements that look like
The Foo is Happy
or similar type stuff.

So I whipped together some code that would accept a statement like the {foo} is "happy". Heres what I did

use Data::Dumper; package rule; sub name {my $self=shift; $self->[0]=shift if @_; + $self->[0] }; sub value {my $self=shift; $self->[1]=shift if @_; + $self->[1] }; package the; use overload '""'=>sub{Data::Dumper::Dumper shift} +; package main; sub the(&$) { my ($item,$rule)=@_; return bless {item=>&$item,rules=>{$rule->name=>$rule->value}} +,"the" unless UNIVERSAL::isa($item,"the"); $item->{rules}->{$rule->name}=$rule->value; return &$item } sub is($) { return bless [is=>shift],'rule'; } print the {foo} is 'happy' or die die die;
Yes, I didnt use strictures or warnings. And I did format it funny deliberately (rule the main!)

Anyway, just thought that some of you might find this interesting and also I was curious what ideas other monks might come up with.

Yves / DeMerphq
---
Writing a good benchmark isnt as easy as it might look.

Replies are listed 'Best First'.
Re: The {foo} is "happy"
by mdupont (Scribe) on Jul 30, 2002 at 15:54 UTC