def look4stringinline(s, line):
    """
    Look for string <s> in line, only comparing the first 4 characters of each word

    This is because cloudy does the same.

    Case should not matter:
    >>> look4stringinline('punch pressure', 'PUNC FINAL PRES')
    True

    And it is OK to have strings with less than 4 characters:
    >>> look4stringinline('PDR', 'save pdr')
    True

    And here is an example that should fail:
    >>> look4stringinline('save whatever', 'save foobar')
    False

    """
    words = s.split()
    for word in words:
        if len(word) > 4:
            word = word[:4]
        if not word.upper() in line.upper():
            return False
    return True