<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML DIR=ltr><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"></HEAD><BODY><DIV><FONT face="Courier New" color=#000000 size=2>Looking at the source of Crypt/Tea.pm, it appears your
possible chars are</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2> [A-Za-z0-9\-_]</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>So you could "do one or more of any of
those":</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2> my ($encrypted) = ($row =~
/attr_key="([A-Za-z0-9\-_]+)"/);</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>or "one or more anything that is not a
quote":</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV>
<DIV><FONT face="Courier New" size=2> my ($encrypted) = ($row =~
/attr_key="([^"]+)"/);</FONT></DIV></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>or "one or more anything,
non-greedy":</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV>
<DIV><FONT face="Courier New" size=2> my ($encrypted) = ($row =~
/attr_key="(.+?)"/);</FONT></DIV></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>? untested... </FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>---</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>reverse() is neat. I didn't know/remember
that Perl function. :)</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>my %a2b =
(<BR> A=>000, B=>001, C=>002,
D=>003, E=>004, F=>005, G=>006,
H=>007,<BR> I=>010, J=>011,
K=>012, L=>013, M=>014, N=>015, O=>016,
P=>017,<BR> Q=>020, R=>021,
S=>022, T=>023, U=>024, V=>025, W=>026,
X=>027,<BR> Y=>030, Z=>031,
a=>032, b=>033, c=>034, d=>035, e=>036,
f=>037,<BR> g=>040, h=>041,
i=>042, j=>043, k=>044, l=>045, m=>046,
n=>047,<BR> o=>050, p=>051,
q=>052, r=>053, s=>054, t=>055, u=>056,
v=>057,<BR> w=>060, x=>061,
y=>062, z=>063, '0'=>064, '1'=>065, '2'=>066,
'3'=>067,<BR>
'4'=>070,'5'=>071,'6'=>072,'7'=>073,'8'=>074,'9'=>075,'-'=>076,'_'=>077,<BR>);<BR>my
%b2a = reverse %a2b;<BR></FONT></DIV>
<DIV><FONT face="Courier New" size=2>------</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>HTH,</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV>
<DIV><FONT face="Courier New" size=2>j</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT> </DIV></BODY></HTML>