<!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>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>&nbsp;&nbsp; [A-Za-z0-9\-_]</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</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>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>&nbsp;&nbsp; my ($encrypted) = ($row =~ 
/attr_key="([A-Za-z0-9\-_]+)"/);</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>or "one or more anything that is&nbsp;not a 
quote":</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV>
<DIV><FONT face="Courier New" size=2>&nbsp;&nbsp; my ($encrypted) = ($row =~ 
/attr_key="([^"]+)"/);</FONT></DIV></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</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>&nbsp;</DIV>
<DIV>
<DIV><FONT face="Courier New" size=2>&nbsp;&nbsp; my ($encrypted) = ($row =~ 
/attr_key="(.+?)"/);</FONT></DIV></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>?&nbsp; untested... </FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>---</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>reverse() is neat. I didn't know/remember 
that Perl function.&nbsp; :)</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>my %a2b = 
(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A=&gt;000, B=&gt;001, C=&gt;002, 
D=&gt;003, E=&gt;004, F=&gt;005, G=&gt;006, 
H=&gt;007,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I=&gt;010, J=&gt;011, 
K=&gt;012, L=&gt;013, M=&gt;014, N=&gt;015, O=&gt;016, 
P=&gt;017,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Q=&gt;020, R=&gt;021, 
S=&gt;022, T=&gt;023, U=&gt;024, V=&gt;025, W=&gt;026, 
X=&gt;027,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Y=&gt;030, Z=&gt;031, 
a=&gt;032, b=&gt;033, c=&gt;034, d=&gt;035, e=&gt;036, 
f=&gt;037,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g=&gt;040, h=&gt;041, 
i=&gt;042, j=&gt;043, k=&gt;044, l=&gt;045, m=&gt;046, 
n=&gt;047,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o=&gt;050, p=&gt;051, 
q=&gt;052, r=&gt;053, s=&gt;054, t=&gt;055, u=&gt;056, 
v=&gt;057,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; w=&gt;060, x=&gt;061, 
y=&gt;062, z=&gt;063, '0'=&gt;064,&nbsp; '1'=&gt;065, '2'=&gt;066, 
'3'=&gt;067,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
'4'=&gt;070,'5'=&gt;071,'6'=&gt;072,'7'=&gt;073,'8'=&gt;074,'9'=&gt;075,'-'=&gt;076,'_'=&gt;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>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>HTH,</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>j</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV></BODY></HTML>