Rather than a second language, per se, I'd suggest
that you learn some functional programming techniques
(hardcore list manipulation and lambda-slinging, mostly).
Whether you do that with Haskell,
Scheme, or Perl is up to you.
(Perl has pretty much all the support you need for a basic
intro to functional programming techniques --
map, anonymous subs, closures;
you name it.)
Breaking out of the pervasive loops-and-variables
mindset can be quite rewarding, and opens up a number of new
WTDIs. (WsTDI?)
--
F
o
x
t
r
o
t
U
n
i
f
o
r
m
Found a typo in this node? /msg me
% man 3 strfry