Extracts a substring out of
and returns it. First character is at offset 0.
OFFSET is negative, starts
that far from the end of the string.
omitted, returns everything to the end of the
LENGTH is negative,
leaves that many characters off the end of the string.
LENGTH specify a substring that is
partly outside the string, only the part within
the string is returned. If the substring is
beyond either end of the string, substr() returns
empty string and produces a warning.