Piem validator programme Write a program that defines a function that can check if a string variable called "anything you want or inputted by the user" is or not a piem.
(piem =  a story or poem in which the word lengths represent the digits of π (from Wikipedia))

Some examples:

myfunction("I am clearly wrong") # False
myfunction("How I want a drink, alcoholic of course, after the heavy lectures involving quantum mechanics") #True (Taken from Wikipedia)
myfunction("Law ' s fine") # True


You should delete any kind of punctuation or newline before processing.
Pure code golf, the shortest wins

End date: evening of 1/10/2014

Various answers


How many digits do we need to handle? More than 10
As a matter of interest, how should 0's in PI be interpreted? Skipped or 10 letter words? As 10 letters words
"a variable called piem" – so the name of the parameter must be piem? No, it hasn't, question text corrected
A fun bonus might be a solution that is itself a piem If your solution is a piem you get *0.5 bonus
For the sake of argument, is _ always punctuation? You can decide if it is punctuation or if it isn't
It's unclear what is meant by "any kind of punctuation" I mean ,.'"?!;;()
So digits should be counted? And Law's fine would be false? Digits should be treated as letters, Law's fine = False; Law ' s fine = True


Comments


The APL solution should be counted in Bytes
If your solution works for 100+ digits of pi you get *0.8 bonus
Because of the great interest the end date is one day more in the future.
JavaScript (169)(140)(137)(135) (63)for 17 digits of pi

In my version Law's fine and Law ' s fine return both true.

Newest Version (63) by Ingo Bürk and hsl

f=s=&gt;!s.split(/\W+/).some((x,i)=&gt;x.length-(Math.PI*1e16+'')[i])


New Version (135) for 17 digits of pi (Thanks to Ingo Bürk):

f=(s)=&gt;{
s=s.split(/[!"#$%&amp;'()*+, \-.\/:;&lt;=&gt;?@[\\\]^_`{|}~]+/);
p=Math.PI*1e16+'';
    r=0;
    for(a=s.length;a--;)r+=s[a].length!=p[a];
    return !r
}


Old version (169) for 32 digits of pi:

f=(s)=&gt;{
s=s.split(/[!"#$%&amp;'()*+, \-.\/:;&lt;=&gt;?@[\\\]^_`{|}~]+/);
p="31415926535897932384626433832795".split('');
    r=1;
    for(a=s.length;a--;)if(s[a].length!=p[a]){r=0};
    return r;
}