Splitting String in array

Splitting String in array

am 10.08.2007 23:40:27 von Negi Sushil

This is a multi-part message in MIME format.

------_=_NextPart_001_01C7DB97.11EB6376
Content-Type: multipart/alternative;
boundary="----_=_NextPart_002_01C7DB97.11EB6376"


------_=_NextPart_002_01C7DB97.11EB6376
Content-Type: text/plain;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable


Hi guys,=20
=20
I need some help in splitting the strings from the attached file (or
below data). The attached file also contains the example output arrays.
I am probably done with looking at this since morning. Any help will be
greatly appreciated.
=20
=20
------------------------------------------------------------ -------
Pattern to be Parsed is below
=20
ABC_011 0311 0311 Pat Asc FirstName LastName
MiddleName ABCAHS: no City present, City Required...
ABC_010 V9D2 0310 0311 Requires FirstName MiddleName
SANAH 3.0x- 55+ User Fields UI- : no feature.
ABC_000 0903 9.0a1 0903 Pat Asc FirstName LastName
blah blah blah Series Timeframe max=20
ABC_579 0903 0303_AB99 0311 Cat Dog LastName
MiddleName Serivce Summarisation not option sorting by Date.
ABC_707 0903 0311
SRFDSA0142\\///SS:NullPointerException:mark incomplete
ABC_707 0903
SRFDSA0142\\///SS:NullPointerException:mark incomplete
=20
Below is the expected results
from=20
ABC_011 0311 0311 Pat Asc FirstName LastName
MiddleName ABCAHS: no City present, City Required...
=20
@array [0]=3D"ABC_011"
@array [1]=3D"0311"
@array [2]=3D""
@array [3]=3D"0311"
@array [4]=3D"Pat Asc"
@array [5]=3D"FirstName LastName MiddleName"
@array [6]=3D"ABCAHS: no City present, City Required..."
=20

from
ABC_000 0903 9.0a1 0903 Pat Asc FirstName LastName
blah blah blah Series Timeframe max=20
=20
@array [0]=3D"ABC_000"
@array [1]=3D"0903"
@array [2]=3D"9.0a1"
@array [3]=3D"0903"
@array [4]=3D"Pat Asc"
@array [5]=3D"FirstName LastName"
@array [6]=3D"blah blah blah Series Timeframe max"
=20

from
ABC_579 0903 0303_AB99 0311 Cat Dog LastName
MiddleName Serivce Summarisation not option sorting by Date.
=20
@array [0]=3D"ABC_579"
@array [1]=3D"0903"
@array [2]=3D"0303_AB99"
@array [3]=3D"0311"
@array [4]=3D"Cat Dog"
@array [5]=3D"LastName MiddleName"
@array [6]=3D"Serivce Summarisation not option sorting by Date."

=20
=20
Thanks
Sushil
=20


------------------------------------------------------------ ---------------=
-
This message and any included attachments are from Siemens Medical=
Solutions=20
and are intended only for the addressee(s).=20
The information contained herein may include trade secrets or privileged or=
=20
otherwise confidential information. Unauthorized review, forwarding,=
printing,=20
copying, distributing, or using such information is strictly prohibited and=
may=20
be unlawful. If you received this message in error, or have reason to=
believe=20
you are not authorized to receive it, please promptly delete this message=
and=20
notify the sender by e-mail with a copy to=
Central.SecurityOffice@siemens.com=20

Thank you
------_=_NextPart_002_01C7DB97.11EB6376
Content-Type: text/html;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable






Hi guys,=
=20

size=3D2> 

I need=
some help in=20
splitting the strings from the attached file (or below data). The attached=
file=20
also contains the example output arrays. I am probably done with looking at=
this=20
since morning.
=3DArial=20
size=3D2>Any help will be greatly appreciated.

size=3D2> 

size=3D2> 

size=
=3D2>------------------------------------------------------- ------------ ONT>

Pattern=
to be Parsed=20
is below

 

=3D2>  ABC_011=20
0311          =20
0311      Pat Asc     =20
FirstName LastName MiddleName ABCAHS:  no City present, City=20
Required...
  ABC_010 V9D2 0310     =
=20
0311      Requires    =
FirstName=20
MiddleName          SANAH=
3.0x- 55+=20
User Fields UI- : no feature.
  ABC_000 0903=20
9.0a1     0903      Pat=20
Asc      FirstName=20
LastName           =
blah=20
blah blah Series Timeframe max
  ABC_579 0903 0303_AB99=20
0311      Cat=20
Dog            =
   =20
LastName MiddleName Serivce Summarisation not option sorting by=20
Date.
  ABC_707=20
0903          =20
0311            =
;            &n=
bsp;            =
;           =20
SRFDSA0142\\///SS:NullPointerException:mark=
incomplete
  ABC_707=20
0903            =
;            &n=
bsp;            =
;            &n=
bsp;            =
; =20
SRFDSA0142\\///SS:NullPointerException:mark incomplete

 

Below is=
the=20
expected results
from
  ABC_011=20
0311          =20
0311      Pat Asc     =20
FirstName LastName MiddleName ABCAHS:  no City present, City=20
Required...

 

@array=20
[0]=3D"ABC_011"
@array [1]=3D"0311"
@array [2]=3D""
@array=20
[3]=3D"0311"
@array [4]=3D"Pat Asc"
@array [5]=3D"FirstName LastName=
=20
MiddleName"
@array [6]=3D"ABCAHS:  no City present, City=20
Required..."

 
=3D620323421-10082007>

from
  ABC_000 0903=20
9.0a1     0903      Pat=20
Asc      FirstName=20
LastName           =
blah=20
blah blah Series Timeframe max

 

@array [0]=3D"ABC_000"
@array [1]=
=3D"0903"
@array=20
[2]=3D"9.0a1"
@array [3]=3D"0903"
@array [4]=3D"Pat Asc"
@array=20
[5]=3D"FirstName LastName"
@array [6]=3D"blah blah blah Series Timeframe=
=20
max"

 


size=3D2>from
  ABC_579 0903 0303_AB99=20
0311      Cat=20
Dog            =
   =20
LastName MiddleName Serivce Summarisation not option sorting by=20
Date.

 

@array [0]=3D"ABC_579"
@array [1]=
=3D"0903"
@array=20
[2]=3D"0303_AB99"
@array [3]=3D"0311"
@array [4]=3D"Cat=
Dog"
@array=20
[5]=3D"LastName MiddleName"
@array [6]=3D"Serivce Summarisation not=
option=20
sorting by Date."

 

 

size=3D2>Thanks

size=3D2>Sushil

size=3D2> 


=3D#000000>------------------------------------------------- ---------------=
------------

This message and any included attachments are from Siemens Medical=
Solutions

and are intended only for the addressee(s).

The information contained herein may include trade secrets or privileged or=


otherwise confidential information. Unauthorized review, forwarding,=
printing,

copying, distributing, or using such information is strictly prohibited and=
may

be unlawful. If you received this message in error, or have reason to=
believe

you are not authorized to receive it, please promptly delete this message=
and

notify the sender by e-mail with a copy to=
Central.SecurityOffice@siemens.com



Thank you


------_=_NextPart_002_01C7DB97.11EB6376--
------_=_NextPart_001_01C7DB97.11EB6376
Content-Type: text/plain;
name="aaaaaaaaaaaaaaa.txt"
Content-Transfer-Encoding: base64
Content-Description: aaaaaaaaaaaaaaa.txt
Content-Disposition: attachment;
filename="aaaaaaaaaaaaaaa.txt"

UGF0dGVybiB0byBiZSBQYXJzZWQgaXMgYmVsb3cNCg0KCQlBQkNfMDExIDAz MTEgICAgICAgICAg
IDAzMTEgICAgICBQYXQgQXNjICAgICAgRmlyc3ROYW1lIExhc3ROYW1lIE1p ZGRsZU5hbWUgQUJD
QUhTOiAgbm8gQ2l0eSBwcmVzZW50LCBDaXR5IFJlcXVpcmVkLi4uDQoJCUFC Q18wMTAgVjlEMiAw
MzEwICAgICAgMDMxMSAgICAgIFJlcXVpcmVzICAgICBGaXJzdE5hbWUgTWlk ZGxlTmFtZSAgICAg
ICAgICBTQU5BSCAzLjB4LSA1NSsgVXNlciBGaWVsZHMgVUktIDogbm8gZmVh dHVyZS4NCgkJQUJD
XzAwMCAwOTAzIDkuMGExICAgICAwOTAzICAgICAgUGF0IEFzYyAgICAgIEZp cnN0TmFtZSBMYXN0
TmFtZSAgICAgICAgICAgIGJsYWggYmxhaCBibGFoIFNlcmllcyBUaW1lZnJh bWUgbWF4IA0KCQlB
QkNfNTc5IDA5MDMgMDMwM19BQjk5IDAzMTEgICAgICBDYXQgRG9nICAgICAg ICAgICAgICAgIExh
c3ROYW1lIE1pZGRsZU5hbWUgU2VyaXZjZSBTdW1tYXJpc2F0aW9uIG5vdCBv cHRpb24gc29ydGlu
ZyBieSBEYXRlLg0KCQlBQkNfNzA3IDA5MDMgICAgICAgICAgIDAzMTEgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1JGRFNBMDE0Mlxc Ly8vU1M6TnVsbFBv
aW50ZXJFeGNlcHRpb246bWFyayBpbmNvbXBsZXRlDQoJCUFCQ183MDcgMDkw MyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTUkZE
U0EwMTQyXFwvLy9TUzpOdWxsUG9pbnRlckV4Y2VwdGlvbjptYXJrIGluY29t cGxldGUNCg0KQmVs
b3cgaXMgdGhlIGV4cGVjdGVkIHJlc3VsdHMNCmZyb20gDQoJCUFCQ18wMTEg MDMxMSAgICAgICAg
ICAgMDMxMSAgICAgIFBhdCBBc2MgICAgICBGaXJzdE5hbWUgTGFzdE5hbWUg TWlkZGxlTmFtZSBB
QkNBSFM6ICBubyBDaXR5IHByZXNlbnQsIENpdHkgUmVxdWlyZWQuLi4NCg0K QGFycmF5IFswXT0i
QUJDXzAxMSINCkBhcnJheSBbMV09IjAzMTEiDQpAYXJyYXkgWzJdPSIiDQpA YXJyYXkgWzNdPSIw
MzExIg0KQGFycmF5IFs0XT0iUGF0IEFzYyINCkBhcnJheSBbNV09IkZpcnN0 TmFtZSBMYXN0TmFt
ZSBNaWRkbGVOYW1lIg0KQGFycmF5IFs2XT0iQUJDQUhTOiAgbm8gQ2l0eSBw cmVzZW50LCBDaXR5
IFJlcXVpcmVkLi4uIg0KDQoNCmZyb20NCgkJQUJDXzAwMCAwOTAzIDkuMGEx ICAgICAwOTAzICAg
ICAgUGF0IEFzYyAgICAgIEZpcnN0TmFtZSBMYXN0TmFtZSAgICAgICAgICAg IGJsYWggYmxhaCBi
bGFoIFNlcmllcyBUaW1lZnJhbWUgbWF4IA0KDQpAYXJyYXkgWzBdPSJBQkNf MDAwIg0KQGFycmF5
IFsxXT0iMDkwMyINCkBhcnJheSBbMl09IjkuMGExIg0KQGFycmF5IFszXT0i MDkwMyINCkBhcnJh
eSBbNF09IlBhdCBBc2MiDQpAYXJyYXkgWzVdPSJGaXJzdE5hbWUgTGFzdE5h bWUiDQpAYXJyYXkg
WzZdPSJibGFoIGJsYWggYmxhaCBTZXJpZXMgVGltZWZyYW1lIG1heCINCg0K DQpmcm9tDQoJCUFC
Q181NzkgMDkwMyAwMzAzX0FCOTkgMDMxMSAgICAgIENhdCBEb2cgICAgICAg ICAgICAgICAgTGFz
dE5hbWUgTWlkZGxlTmFtZSBTZXJpdmNlIFN1bW1hcmlzYXRpb24gbm90IG9w dGlvbiBzb3J0aW5n
IGJ5IERhdGUuDQoNCkBhcnJheSBbMF09IkFCQ181NzkiDQpAYXJyYXkgWzFd PSIwOTAzIg0KQGFy
cmF5IFsyXT0iMDMwM19BQjk5Ig0KQGFycmF5IFszXT0iMDMxMSINCkBhcnJh eSBbNF09IkNhdCBE
b2ciDQpAYXJyYXkgWzVdPSJMYXN0TmFtZSBNaWRkbGVOYW1lIg0KQGFycmF5 IFs2XT0iU2VyaXZj
ZSBTdW1tYXJpc2F0aW9uIG5vdCBvcHRpb24gc29ydGluZyBieSBEYXRlLiIN Cg==

------_=_NextPart_001_01C7DB97.11EB6376
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
------_=_NextPart_001_01C7DB97.11EB6376--

Re: Splitting String in array

am 11.08.2007 01:27:03 von Lim Ee Wah

--===============1181844930==
Content-Type: multipart/alternative;
boundary="----=_Part_26253_28027968.1186788423976"

------=_Part_26253_28027968.1186788423976
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

You can try this:

while ()
{
my @array = ( /(\w{3}\_\d{3}) \s
(.{4}) \s
(.{9}) \s
(.{4}) \s{6}
(.{12}) \s
(.{29}) \s
(.*$)
/x );

@array = map {s/^\s*|\s*$//g;$_} @array;
for (0..6)
{
print "\$array[\$_] = \"$array[$_]\"\n";
}
print "\n";
}

__DATA__
ABC_011 0311 0311 Pat Asc FirstName LastName MiddleName
ABCAHS: no City present, City Required...
ABC_010 V9D2 0310 0311 Requires FirstName MiddleName
SANAH 3.0x- 55+ User Fields UI- : no feature.
ABC_000 0903 9.0a1 0903 Pat Asc FirstName LastName
blah blah blah Series Timeframe max
ABC_579 0903 0303_AB99 0311 Cat Dog LastName MiddleName
Serivce Summarisation not option sorting by Date.
ABC_707 0903 0311
SRFDSA0142\\///SS:NullPointerException:mark incomplete
ABC_707 0903
SRFDSA0142\\///SS:NullPointerException:mark incomplete


On 8/11/07, Negi, Sushil (MED US) wrote:
>
> Hi guys,
>
> I need some help in splitting the strings from the attached file (or below
> data). The attached file also contains the example output arrays. I am
> probably done with looking at this since morning. Any help will be greatly
> appreciated.
>
>
> ------------------------------------------------------------ -------
> Pattern to be Parsed is below
>
> ABC_011 0311 0311 Pat Asc FirstName LastName
> MiddleName ABCAHS: no City present, City Required...
> ABC_010 V9D2 0310 0311 Requires FirstName
> MiddleName SANAH 3.0x- 55+ User Fields UI- : no feature.
> ABC_000 0903 9.0a1 0903 Pat Asc FirstName
> LastName blah blah blah Series Timeframe max
> ABC_579 0903 0303_AB99 0311 Cat Dog LastName
> MiddleName Serivce Summarisation not option sorting by Date.
> ABC_707 0903
> 0311
> SRFDSA0142\\///SS:NullPointerException:mark incomplete
> ABC_707
> 0903
> SRFDSA0142\\///SS:NullPointerException:mark incomplete
>
> Below is the expected results
> from
> ABC_011 0311 0311 Pat Asc FirstName LastName
> MiddleName ABCAHS: no City present, City Required...
>
> @array [0]="ABC_011"
> @array [1]="0311"
> @array [2]=""
> @array [3]="0311"
> @array [4]="Pat Asc"
> @array [5]="FirstName LastName MiddleName"
> @array [6]="ABCAHS: no City present, City Required..."
>
>
> from
> ABC_000 0903 9.0a1 0903 Pat Asc FirstName
> LastName blah blah blah Series Timeframe max
>
> @array [0]="ABC_000"
> @array [1]="0903"
> @array [2]="9.0a1"
> @array [3]="0903"
> @array [4]="Pat Asc"
> @array [5]="FirstName LastName"
> @array [6]="blah blah blah Series Timeframe max"
>
>
> from
> ABC_579 0903 0303_AB99 0311 Cat Dog LastName
> MiddleName Serivce Summarisation not option sorting by Date.
>
> @array [0]="ABC_579"
> @array [1]="0903"
> @array [2]="0303_AB99"
> @array [3]="0311"
> @array [4]="Cat Dog"
> @array [5]="LastName MiddleName"
> @array [6]="Serivce Summarisation not option sorting by Date."
>
>
> Thanks
> Sushil
>
>
> ------------------------------------------------------------ ----------------
> This message and any included attachments are from Siemens Medical
> Solutions
> and are intended only for the addressee(s).
> The information contained herein may include trade secrets or privileged
> or
> otherwise confidential information. Unauthorized review, forwarding,
> printing,
> copying, distributing, or using such information is strictly prohibited
> and may
> be unlawful. If you received this message in error, or have reason to
> believe
> you are not authorized to receive it, please promptly delete this message
> and
> notify the sender by e-mail with a copy to
> Central.SecurityOffice@siemens.com
>
> Thank you
>
> _______________________________________________
> ActivePerl mailing list
> ActivePerl@listserv.ActiveState.com
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
>
>
>

------=_Part_26253_28027968.1186788423976
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

You can try this:

 

while (<DATA>)
{
    my @array =3D ( &=
nbsp; /(\w{3}\_\d{3})         =
        \s
    &n=
bsp;            =
;    (.{4})        &=
nbsp;           &nbs=
p;    \s
        =
             (.=
{9})            =
;             \=
s
           &nbs=
p;         (.{4})   =
            &nb=
sp;         \s{6}

            =
;         (.{12})   =
            &nb=
sp;        \s
    =
;            &n=
bsp;    (.{29})       &nb=
sp;            =
    \s
        &n=
bsp;            (.*$=
)
           &nbs=
p;        /x );

    @array =3D map {s/^\s*|\s*$//g;$_} @array;
 &=
nbsp;  for (0..6)
    {
    &=
nbsp;   print "\$array[\$_] =3D \"$array[$_]\"\n&q=
uot;;
    }
    print "\n"; r>}


__DATA__
ABC_011 0311        =
   0311      Pat Asc   &n=
bsp;  FirstName LastName MiddleName ABCAHS:  no City present, Cit=
y Required...
ABC_010 V9D2 0310      0311 =
     Requires     FirstName MiddleN=
ame          SANAH 3.0x
- 55+ User Fields UI- : no feature.
ABC_000 0903 9.0a1   =
  0903      Pat Asc    &n=
bsp; FirstName LastName        &nbs=
p;   blah blah blah Series Timeframe max
ABC_579 0903 0303_AB=
99 0311      Cat Dog     =
           LastName Middl=
eName Serivce Summarisation not option sorting by Date.

ABC_707 0903          =
; 0311           &nb=
sp;            =
            &nb=
sp;            SRFDS=
A0142\\///SS:NullPointerException:mark incomplete
ABC_707 0903 &nbs=
p;            &=
nbsp;           &nbs=
p;            &=
nbsp;           &nbs=
p;            SRFDSA=
0142\\///SS:NullPointerException:mark incomplete




On 8/11/07, =
Negi, Sushil (MED US)
< w,event,this)" href=3D"mailto:sushil.negi@siemens.com" target=3D"_blank">su=
shil.negi@siemens.com
> wrote:
=20
px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">

Hi guys,

 

I need some help in splitting th=
e strings from the attached file (or below data). The attached file also co=
ntains the example output arrays. I am probably done with looking at this s=
ince morning.=20
Any help will be greatl=
y appreciated.

 

 

--------------------------------=
-----------------------------------

Pattern to be Parsed is below ont>

 

  ABC_011 0311 &n=
bsp;         0311   =
   Pat Asc      FirstName LastName Middl=
eName ABCAHS:  no City present, City Required...
  ABC_01=
0 V9D2 0310      0311     =
; Requires     FirstName MiddleName   &n=
bsp;      SANAH=20
3.0x- 55+ User Fields UI- : no feature.
  ABC_000 0903 9.0a1&n=
bsp;    0903      Pat Asc &nbs=
p;    FirstName LastName      =
      blah blah blah Series Timeframe max
&nbs=
p; ABC_579 0903 0303_AB99 0311      Cat Dog&n=
bsp;            =
;   LastName MiddleName Serivce Summarisation not option sorting =
by Date.=20

  ABC_707 0903        =
;   0311         &nb=
sp;            =
            &nb=
sp;            =
  SRFDSA0142\\///SS:NullPointerException:mark incomplete
 &nbs=
p;ABC_707 0903          &=
nbsp;           &nbs=
p;            &=
nbsp;           &nbs=
p;            &=
nbsp;   SRFDSA0142\\///SS:NullPointerException:mark incomplete=20

 

Below is the expected results >from
  ABC_011 0311       =
;    0311      Pat Asc  &=
nbsp;   FirstName LastName MiddleName ABCAHS:  no City prese=
nt, City Required...


 

@array [0]=3D"ABC_011"=

@array [1]=3D"0311"
@array [2]=3D""
@array [3=
]=3D"0311"
@array [4]=3D"Pat Asc"
@array [5]=3D&q=
uot;FirstName LastName MiddleName"=20

@array [6]=3D"ABCAHS:  no City present, City Required..."=
;

 


from
  ABC_000 0903 9=
..0a1     0903      Pat Asc&nbs=
p;     FirstName LastName     =
       blah blah blah Series Timeframe max font>

 

@array [0]=3D"ABC_000"
@a=
rray [1]=3D"0903"
@array [2]=3D"9.0a1"
@array [3]=
=3D"0903"
@array [4]=3D"Pat Asc"
@array [5]=3D&qu=
ot;FirstName LastName"=20

@array [6]=3D"blah blah blah Series Timeframe max"
v>
 


=3D"2">from
  ABC_579 0903 0303_AB99 0311   &nb=
sp;  Cat Dog         &nbs=
p;      LastName MiddleName Serivce Summarisation =
not option sorting by Date.


 

@array [0]=3D"ABC_579"
@a=
rray [1]=3D"0903"
@array [2]=3D"0303_AB99"
@array=
[3]=3D"0311"
@array [4]=3D"Cat Dog"
@array [5]=
=3D"LastName MiddleName"=20

@array [6]=3D"Serivce Summarisation not option sorting by Date.&qu=
ot;

 

 

Thanks

Sushil

 
>




r>
---------------------------=
-------------------------------------------------
This message and any i=
ncluded attachments are from Siemens Medical Solutions
and are intended=
only for the addressee(s).=20

The information contained herein may include trade secrets or privilege=
d or
otherwise confidential information. Unauthorized review, forwardin=
g, printing,
copying, distributing, or using such information is strict=
ly prohibited and may=20

be unlawful. If you received this message in error, or have reason to b=
elieve
you are not authorized to receive it, please promptly delete thi=
s message and
notify the sender by e-mail with a copy to return top.js.OpenExtLink(window,event,this)" href=3D"mailto:Central.Securi=
tyOffice@siemens.com" target=3D"_blank">
Central.SecurityOffice@siemens.com


Thank you

_______________________________________________
Ac=
tivePerl mailing list
nt,this)" href=3D"mailto:ActivePerl@listserv.ActiveState.com" target=3D"_bl=
ank">
ActivePerl@listserv.ActiveState.com

To unsubscribe: turn top.js.OpenExtLink(window,event,this)" href=3D"http://listserv.actives=
tate.com/mailman/mysubs" target=3D"_blank">http://listserv.ActiveState.com/=
mailman/mysubs=20





------=_Part_26253_28027968.1186788423976--

--===============1181844930==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--===============1181844930==--

Re: Splitting String in array

am 11.08.2007 11:13:20 von Williamawalters

--part1_d1a.1165eb45.33eed7b0_boundary
Content-Type: multipart/alternative;
boundary="-----------------------------1186823598"


-------------------------------1186823598
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

hi sushil --

attached is a slightly different approach to what i understand to be your
problem.

instead of a regex, it uses the unpack() function to extract what seem to
be
fixed-width fields from each line; this may be somewhat more maintainable
than using a regex.

hth -- bill walters




************************************** Get a sneak peek of the all-new AOL at
http://discover.aol.com/memed/aolcom30tour

-------------------------------1186823598
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable





Arial"=20
bottomMargin=3D7 leftMargin=3D7 topMargin=3D7 rightMargin=3D7> e_document=20
face=3DArial color=3D#000000 size=3D2>

hi sushil --  

 

attached is a slightly different approach to what i understand to be yo=
ur=20
problem.  

 

instead of a regex, it uses the  unpack()  function to extrac=
t=20
what seem to be

fixed-width fields from each line; this may be somewhat more maintainab=
le=20

than using a regex.  

 

hth -- bill walters  

 



<=
/BODY>

-------------------------------1186823598--

--part1_d1a.1165eb45.33eed7b0_boundary
Content-Type: application/octet-stream; name="aaaaaaaaaaaaaaa.pl"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="aaaaaaaaaaaaaaa.pl"

IyBQYXR0ZXJuIHRvIGJlIFBhcnNlZCBpcyBiZWxvdw0KIw0KIyAJCUFCQ18w MTEgMDMxMSAg
ICAgICAgICAgMDMxMSAgICAgIFBhdCBBc2MgICAgICBGaXJzdE5hbWUgTGFz dE5hbWUgTWlk
ZGxlTmFtZSBBQkNBSFM6ICBubyBDaXR5IHByZXNlbnQsIENpdHkgUmVxdWly ZWQuLi4NCiMg
CQlBQkNfMDEwIFY5RDIgMDMxMCAgICAgIDAzMTEgICAgICBSZXF1aXJlcyAg ICAgRmlyc3RO
YW1lIE1pZGRsZU5hbWUgICAgICAgICAgU0FOQUggMy4weC0gNTUrIFVzZXIg RmllbGRzIFVJ
LSA6IG5vIGZlYXR1cmUuDQojIAkJQUJDXzAwMCAwOTAzIDkuMGExICAgICAw OTAzICAgICAg
UGF0IEFzYyAgICAgIEZpcnN0TmFtZSBMYXN0TmFtZSAgICAgICAgICAgIGJs YWggYmxhaCBi
bGFoIFNlcmllcyBUaW1lZnJhbWUgbWF4DQojIAkJQUJDXzU3OSAwOTAzIDAz MDNfQUI5OSAw
MzExICAgICAgQ2F0IERvZyAgICAgICAgICAgICAgICBMYXN0TmFtZSBNaWRk bGVOYW1lIFNl
cml2Y2UgU3VtbWFyaXNhdGlvbiBub3Qgb3B0aW9uIHNvcnRpbmcgYnkgRGF0 ZS4NCiMgCQlB
QkNfNzA3IDA5MDMgICAgICAgICAgIDAzMTEgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU1JGRFNBMDE0MlxcLy8vU1M6TnVsbFBv aW50ZXJFeGNl
cHRpb246bWFyayBpbmNvbXBsZXRlDQojIAkJQUJDXzcwNyAwOTAzICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNSRkRT
QTAxNDJcXC8vL1NTOk51bGxQb2ludGVyRXhjZXB0aW9uOm1hcmsgaW5jb21w bGV0ZQ0KIw0K
IyBCZWxvdyBpcyB0aGUgZXhwZWN0ZWQgcmVzdWx0cw0KIyBmcm9tDQojIAkJ QUJDXzAxMSAw
MzExICAgICAgICAgICAwMzExICAgICAgUGF0IEFzYyAgICAgIEZpcnN0TmFt ZSBMYXN0TmFt
ZSBNaWRkbGVOYW1lIEFCQ0FIUzogIG5vIENpdHkgcHJlc2VudCwgQ2l0eSBS ZXF1aXJlZC4u
Lg0KIw0KIyBAYXJyYXkgWzBdPSJBQkNfMDExIg0KIyBAYXJyYXkgWzFdPSIw MzExIg0KIyBA
YXJyYXkgWzJdPSIiDQojIEBhcnJheSBbM109IjAzMTEiDQojIEBhcnJheSBb NF09IlBhdCBB
c2MiDQojIEBhcnJheSBbNV09IkZpcnN0TmFtZSBMYXN0TmFtZSBNaWRkbGVO YW1lIg0KIyBA
YXJyYXkgWzZdPSJBQkNBSFM6ICBubyBDaXR5IHByZXNlbnQsIENpdHkgUmVx dWlyZWQuLi4i
DQojDQojDQojIGZyb20NCiMgCQlBQkNfMDAwIDA5MDMgOS4wYTEgICAgIDA5 MDMgICAgICBQ
YXQgQXNjICAgICAgRmlyc3ROYW1lIExhc3ROYW1lICAgICAgICAgICAgYmxh aCBibGFoIGJs
YWggU2VyaWVzIFRpbWVmcmFtZSBtYXgNCiMNCiMgQGFycmF5IFswXT0iQUJD XzAwMCINCiMg
QGFycmF5IFsxXT0iMDkwMyINCiMgQGFycmF5IFsyXT0iOS4wYTEiDQojIEBh cnJheSBbM109
IjA5MDMiDQojIEBhcnJheSBbNF09IlBhdCBBc2MiDQojIEBhcnJheSBbNV09 IkZpcnN0TmFt
ZSBMYXN0TmFtZSINCiMgQGFycmF5IFs2XT0iYmxhaCBibGFoIGJsYWggU2Vy aWVzIFRpbWVm
cmFtZSBtYXgiDQojDQojDQojIGZyb20NCiMgCQlBQkNfNTc5IDA5MDMgMDMw M19BQjk5IDAz
MTEgICAgICBDYXQgRG9nICAgICAgICAgICAgICAgIExhc3ROYW1lIE1pZGRs ZU5hbWUgU2Vy
aXZjZSBTdW1tYXJpc2F0aW9uIG5vdCBvcHRpb24gc29ydGluZyBieSBEYXRl Lg0KIw0KIyBA
YXJyYXkgWzBdPSJBQkNfNTc5Ig0KIyBAYXJyYXkgWzFdPSIwOTAzIg0KIyBA YXJyYXkgWzJd
PSIwMzAzX0FCOTkiDQojIEBhcnJheSBbM109IjAzMTEiDQojIEBhcnJheSBb NF09IkNhdCBE
b2ciDQojIEBhcnJheSBbNV09Ikxhc3ROYW1lIE1pZGRsZU5hbWUiDQojIEBh cnJheSBbNl09
IlNlcml2Y2UgU3VtbWFyaXNhdGlvbiBub3Qgb3B0aW9uIHNvcnRpbmcgYnkg RGF0ZS4iDQoN
Cg0KdXNlIHdhcm5pbmdzOw0KdXNlIHN0cmljdDsNCg0KIyB1c2UgRGF0YTo6 RHVtcGVyOyAg
IyBGT1IgREVCVUcNCg0KDQojIHNpbmNlIGFsbCBsaW5lcyBzZWVtIHRvIGhh dmUgZGF0YSBp
biBmaWVsZHMgb2YgZml4ZWQgd2lkdGgsDQojIHVzZSB1bnBhY2soKSBmdW5j dGlvbiBvbiBl
YWNoIGxpbmUuDQoNCiMgdW5wYWNrKCkgdGVtcGxhdGUgc3ViLWZpZWxkczoN CiMgICAgICAg
ICAgICBzdGFydCAgZmllbGQNCiMgICAgICAgICAgICBjb2wgICAgd2lkdGgN Cm15ICRmaWVs
ZDEgPSAnIEAyICAgICBBOCc7ICMgaW5kaXZpZHVhbCBmaWVsZCBkZXNjcmlw dGlvbnMNCm15
ICRmaWVsZDIgPSAnQDEwICAgICBBNSc7ICMNCm15ICRmaWVsZDMgPSAnQDE1 ICAgIEExMCc7
ICMNCm15ICRmaWVsZDQgPSAnQDI1ICAgIEExMCc7ICMNCm15ICRmaWVsZDUg PSAnQDM1ICAg
IEExMyc7ICMNCm15ICRuYW1lcyAgPSAnQDQ4ICAgIEEzMCc7ICMNCm15ICRu b3RlcyAgPSAn
QDc4ICAgIEEqICc7ICMNCg0KbXkgJERhdGFGaWVsZHMgPSAgIyBnZW5lcmF0 ZSB1bnBhY2so
KSB0ZW1wbGF0ZSBzdHJpbmcNCiAgICRmaWVsZDEgLiAkZmllbGQyIC4gJGZp ZWxkMyAuICRm
aWVsZDQgLiAkZmllbGQ1IC4gJG5hbWVzIC4gJG5vdGVzOw0KDQoNCm15IEBM aW5lczsNCg0K
d2hpbGUgKDxEQVRBPikgew0KDQogICAgIyBnZW5lcmF0ZSBhcnJheSBvZiBm aXhlZC13aWR0
aCBkYXRhIGZpZWxkcyB1bnBhY2tlZCBmcm9tIGVhY2ggbGluZQ0KICAgIG15 IEBmaWVsZHMg
PSB1bnBhY2sgJERhdGFGaWVsZHMsICRfOw0KDQogICAgIyB0cmltIGxlYWRp bmcgYW5kIHRy
YWlsaW5nIHdoaXRlc3BhY2UgZnJvbSBlYWNoIGZpZWxkLg0KICAgIHN7IFxB IFxzKyB8IFxz
KyBceiB9e31neG1zIGZvciBAZmllbGRzOw0KDQogICAgIyBwdXNoIHJlZmVy ZW5jZSB0byBh
cnJheSBvZiBmaWVsZHMgdG8gYXJyYXkgb2YgbGluZXMgcHJvY2Vzc2VkDQog ICAgcHVzaCBA
TGluZXMsIFxAZmllbGRzOw0KDQogICAgIyBhbHRob3VnaCBpdCBtYXkgYmUg YSBiaXQgbGVz
cyBtYWludGFpbmFibGUgdG8gZG8gc28sDQogICAgIyB0aGUgdGhyZWUgc3Rh dGVtZW50cyBh
Ym92ZSBjb3VsZCBiZSBjb21iaW5lZCBpbnRvIG9uZSwgYXMgZm9sbG93czoN CiAgICAjIHB1
c2ggQExpbmVzLA0KICAgICMgICAgICBbIG1hcCB7IHN7IFxBIFxzKyB8IFxz KyBceiB9e31n
eG1zOyAgJF8gfSB1bnBhY2sgJERhdGFGaWVsZHMsICRfIF0NCiAgICAjICAg ICAgOw0KDQog
ICAgfQ0KDQoNCiMgcHJpbnQgRHVtcGVyKFxATGluZXMpOyAgIyBGT1IgREVC VUcNCg0KZm9y
IG15ICRsaW5lICgwLCAyLCAzKSB7ICAjIGRpc3BsYXkgY2VydGFpbiBwcm9j ZXNzZWQgbGlu
ZXMuLi4NCiAgICBteSBAZmllbGRzID0gQHsgJExpbmVzWyRsaW5lXSB9OyAg IyBhcnJheSBv
ZiBmaWVsZHMNCiAgICBmb3IgbXkgJGZpZWxkICgwIC4uICQjZmllbGRzKSB7 ICAgIyBmb3Ig
ZWFjaCBmaWVsZCBpbmRleC4uLg0KICAgICAgICBwcmludCBxcShsaW5lICRs aW5lIGZpZWxk
ICRmaWVsZCA9ICIkZmllbGRzWyRmaWVsZF0iIFxuKTsNCiAgICAgICAgfQ0K ICAgIHByaW50
ICJcbiI7DQogICAgfQ0KDQoNCl9fREFUQV9fDQoJCUFCQ18wMTEgMDMxMSAg ICAgICAgICAg
MDMxMSAgICAgIFBhdCBBc2MgICAgICBGaXJzdE5hbWUgTGFzdE5hbWUgTWlk ZGxlTmFtZSBB
QkNBSFM6ICBubyBDaXR5IHByZXNlbnQsIENpdHkgUmVxdWlyZWQuLi4NCgkJ QUJDXzAxMCBW
OUQyIDAzMTAgICAgICAwMzExICAgICAgUmVxdWlyZXMgICAgIEZpcnN0TmFt ZSBNaWRkbGVO
YW1lICAgICAgICAgIFNBTkFIIDMuMHgtIDU1KyBVc2VyIEZpZWxkcyBVSS0g OiBubyBmZWF0
dXJlLg0KCQlBQkNfMDAwIDA5MDMgOS4wYTEgICAgIDA5MDMgICAgICBQYXQg QXNjICAgICAg
Rmlyc3ROYW1lIExhc3ROYW1lICAgICAgICAgICAgYmxhaCBibGFoIGJsYWgg U2VyaWVzIFRp
bWVmcmFtZSBtYXgNCgkJQUJDXzU3OSAwOTAzIDAzMDNfQUI5OSAwMzExICAg ICAgQ2F0IERv
ZyAgICAgICAgICAgICAgICBMYXN0TmFtZSBNaWRkbGVOYW1lIFNlcml2Y2Ug U3VtbWFyaXNh
dGlvbiBub3Qgb3B0aW9uIHNvcnRpbmcgYnkgRGF0ZS4NCgkJQUJDXzcwNyAw OTAzICAgICAg
ICAgICAwMzExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgIFNSRkRTQTAxNDJcXC8vL1NTOk51bGxQb2ludGVyRXhjZXB0aW9uOm1h cmsgaW5jb21w
bGV0ZQ0KCQlBQkNfNzA3IDA5MDMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1JGRFNBMDE0MlxcLy8v U1M6TnVsbFBv
aW50ZXJFeGNlcHRpb246bWFyayBpbmNvbXBsZXRlDQo=

--part1_d1a.1165eb45.33eed7b0_boundary
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--part1_d1a.1165eb45.33eed7b0_boundary--

RE: Splitting String in array

am 11.08.2007 20:27:37 von Negi Sushil

This is a multi-part message in MIME format.

------_=_NextPart_001_01C7DC45.53C38DF2
Content-Type: multipart/alternative;
boundary="----_=_NextPart_002_01C7DC45.53C38DF2"


------_=_NextPart_002_01C7DC45.53C38DF2
Content-Type: text/plain;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable


Thanks Ee and Bill,
=20
Both your solution work perfectly for the data set that I provided.
However I think I missed in explaining an important point.
=20
The sample was only one file out of thousands of file that need to be
parsed. See attached as another example which shows what I mean to say.
This is where I am getting stuck as the "field width is not constant".
(It changes in different files based on the max length of the data in a
particular field).
=20
Any thoughts on making a generic parser script to create an array for
this?
=20
Thanks
Sushil
________________________________

From: Lim Ee Wah [mailto:ee.wah.lim@gmail.com]=20
Sent: Friday, August 10, 2007 7:27 PM
To: Negi, Sushil (MED US)
Cc: activeperl@listserv.activestate.com
Subject: Re: Splitting String in array


You can try this:
=20
while ()
{
my @array =3D ( /(\w{3}\_\d{3}) \s
(.{4}) \s
(.{9}) \s
(.{4}) \s{6}=20
(.{12}) \s
(.{29}) \s
(.*$)
/x );

@array =3D map {s/^\s*|\s*$//g;$_} @array;
for (0..6)
{
print "\$array[\$_] =3D \"$array[$_]\"\n";
}
print "\n";
}

__DATA__
ABC_011 0311 0311 Pat Asc FirstName LastName
MiddleName ABCAHS: no City present, City Required...
ABC_010 V9D2 0310 0311 Requires FirstName MiddleName
SANAH 3.0x - 55+ User Fields UI- : no feature.
ABC_000 0903 9.0a1 0903 Pat Asc FirstName LastName
blah blah blah Series Timeframe max=20
ABC_579 0903 0303_AB99 0311 Cat Dog LastName
MiddleName Serivce Summarisation not option sorting by Date.=20
ABC_707 0903 0311
SRFDSA0142\\///SS:NullPointerException:mark incomplete
ABC_707 0903
SRFDSA0142\\///SS:NullPointerException:mark incomplete=20



On 8/11/07, Negi, Sushil (MED US) wrote:=20

Hi guys,=20
=20
I need some help in splitting the strings from the attached file
(or below data). The attached file also contains the example output
arrays. I am probably done with looking at this since morning. Any help
will be greatly appreciated.
=20
=20
=09
------------------------------------------------------------ -------
Pattern to be Parsed is below
=20
ABC_011 0311 0311 Pat Asc FirstName
LastName MiddleName ABCAHS: no City present, City Required...
ABC_010 V9D2 0310 0311 Requires FirstName
MiddleName SANAH 3.0x- 55+ User Fields UI- : no feature.
ABC_000 0903 9.0a1 0903 Pat Asc FirstName
LastName blah blah blah Series Timeframe max=20
ABC_579 0903 0303_AB99 0311 Cat Dog
LastName MiddleName Serivce Summarisation not option sorting by Date.=20
ABC_707 0903 0311
SRFDSA0142\\///SS:NullPointerException:mark incomplete
ABC_707 0903
SRFDSA0142\\///SS:NullPointerException:mark incomplete=20
=20
Below is the expected results
from=20
ABC_011 0311 0311 Pat Asc FirstName
LastName MiddleName ABCAHS: no City present, City Required...
=20
@array [0]=3D"ABC_011"
@array [1]=3D"0311"
@array [2]=3D""
@array [3]=3D"0311"
@array [4]=3D"Pat Asc"
@array [5]=3D"FirstName LastName MiddleName"=20
@array [6]=3D"ABCAHS: no City present, City Required..."
=20
=09

from
ABC_000 0903 9.0a1 0903 Pat Asc FirstName
LastName blah blah blah Series Timeframe max=20
=20
@array [0]=3D"ABC_000"
@array [1]=3D"0903"
@array [2]=3D"9.0a1"
@array [3]=3D"0903"
@array [4]=3D"Pat Asc"
@array [5]=3D"FirstName LastName"=20
@array [6]=3D"blah blah blah Series Timeframe max"
=20
=09
from
ABC_579 0903 0303_AB99 0311 Cat Dog
LastName MiddleName Serivce Summarisation not option sorting by Date.
=20
@array [0]=3D"ABC_579"
@array [1]=3D"0903"
@array [2]=3D"0303_AB99"
@array [3]=3D"0311"
@array [4]=3D"Cat Dog"
@array [5]=3D"LastName MiddleName"=20
@array [6]=3D"Serivce Summarisation not option sorting by Date."
=09
=20
=20
Thanks
Sushil
=20
------------------------------------------------------------ ------------
----
This message and any included attachments are from Siemens Medical
Solutions=20
and are intended only for the addressee(s).=20
The information contained herein may include trade secrets or privileged
or=20
otherwise confidential information. Unauthorized review, forwarding,
printing,=20
copying, distributing, or using such information is strictly prohibited
and may=20
be unlawful. If you received this message in error, or have reason to
believe=20
you are not authorized to receive it, please promptly delete this
message and=20
notify the sender by e-mail with a copy to=20
Central.SecurityOffice@siemens.com=20

Thank you
=09

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs=20
=09
=09




------------------------------------------------------------ ---------------=
-
This message and any included attachments are from Siemens Medical=
Solutions=20
and are intended only for the addressee(s).=20
The information contained herein may include trade secrets or privileged or=
=20
otherwise confidential information. Unauthorized review, forwarding,=
printing,=20
copying, distributing, or using such information is strictly prohibited and=
may=20
be unlawful. If you received this message in error, or have reason to=
believe=20
you are not authorized to receive it, please promptly delete this message=
and=20
notify the sender by e-mail with a copy to=
Central.SecurityOffice@siemens.com=20

Thank you
------_=_NextPart_002_01C7DC45.53C38DF2
Content-Type: text/html;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable






=3DArial=20
color=3D#0000ff size=3D2>Thanks Ee and Bill,

=3DArial=20
color=3D#0000ff size=3D2>
 

=3DArial=20
color=3D#0000ff size=3D2>Both your solution work perfectly for the data set=
that I=20
provided. However I think I missed in explaining an important=20
point.

=3DArial=20
color=3D#0000ff size=3D2>
 

=3DArial=20
color=3D#0000ff size=3D2>The sample was only one file out of thousands of=
file that=20
need to be parsed. See attached as another example which shows what I mean=
to=20
say. This is where I am getting stuck as the "field width is not constant".=
(It=20
changes in different files based on the max length of the data in a=
particular=20
field).

 

=3D477031618-11082007>Any=20
thoughts on making a generic parser script to create an array for=20
this?

class=3D477031618-11082007> 

size=3D2>Thanks

size=3D2>Sushil




From: Lim Ee Wah=
[mailto:ee.wah.lim@gmail.com]=20

Sent: Friday, August 10, 2007 7:27 PM
To: Negi, Sushil=
(MED=20
US)
Cc: activeperl@listserv.activestate.com
Subject:=
Re:=20
Splitting String in array



You can try this:

 

while (<DATA>)
{
    my @array =3D=
(  =20
/(\w{3}\_\d{3})          =
      =20
\s
           &nb=
sp;        =20
(.{4})           &nb=
sp;            =
=20
\s
           &nb=
sp;        =20
(.{9})           &nb=
sp;            =
=20
\s
           &nb=
sp;        =20
(.{4})           &nb=
sp;            =
=20
\s{6}=20

            =
;        =20
(.{12})           &n=
bsp;           =20
\s
           &nb=
sp;        =20
(.{29})           &n=
bsp;           =20
\s
           &nb=
sp;        =20
(.*$)
           =
        =20
/x );

    @array =3D map {s/^\s*|\s*$//g;$_}=20
@array;
    for (0..6)
   =20
{
        print "\$array[\$_] =
\"$array[$_]\"\n";
    }
    print=20
"\n";
}


__DATA__
ABC_011=20
0311          =20
0311      Pat Asc     =20
FirstName LastName MiddleName ABCAHS:  no City present, City=20
Required...
ABC_010 V9D2 0310     =20
0311      Requires    =
FirstName=20
MiddleName          SANAH 3.0x=
-=20
55+ User Fields UI- : no feature.
ABC_000 0903=
9.0a1    =20
0903      Pat Asc     =20
FirstName=20
LastName           =
blah=20
blah blah Series Timeframe max
ABC_579 0903 0303_AB99=20
0311      Cat=20
Dog            =
   =20
LastName MiddleName Serivce Summarisation not option sorting by Date.=20

ABC_707=
0903          =20
0311            =
;            &n=
bsp;            =
;           =20
SRFDSA0142\\///SS:NullPointerException:mark incomplete
ABC_707=20
0903            =
;            &n=
bsp;            =
;            &n=
bsp;            =
; =20
SRFDSA0142\\///SS:NullPointerException:mark incomplete




On 8/11/07, =3Dgmail_sendername>Negi, Sushil=20
(MED US)
< top.js.OpenExtLink(window,event,this)"=20
href=3D"mailto:sushil.negi@siemens.com" target=
=3D_blank>sushil.negi@siemens.com=20
> wrote:
=20
style=3D"PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc=
1px solid">

Hi guys,

 

I need some help in splitting the=
strings=20
from the attached file (or below data). The attached file also contains=
the=20
example output arrays. I am probably done with looking at this since=
morning.=20
Any help will be greatly=
=20
appreciated.

 

 

size=
=3D2>------------------------------------------------------- ------------ ONT>

Pattern to be Parsed is=20
below

 

  ABC_011=20
0311          =20
0311      Pat Asc     =
=20
FirstName LastName MiddleName ABCAHS:  no City present, City=20
Required...
  ABC_010 V9D2=
0310     =20
0311      Requires    =
FirstName=20
MiddleName          SANAH=
3.0x-=20
55+ User Fields UI- : no feature.
  ABC_000 0903=20
9.0a1     0903      Pat=20
Asc      FirstName=20
=
LastName           =
=20
blah blah blah Series Timeframe max
  ABC_579 0903=
0303_AB99=20
0311      Cat=20
=
Dog            =
;   =20
LastName MiddleName Serivce Summarisation not option sorting by Date.=20

  ABC_707=20
0903          =20
=
0311           &nbs=
p;            &=
nbsp;           &nbs=
p;           =20
SRFDSA0142\\///SS:NullPointerException:mark=
incomplete
  ABC_707=20
=
0903           &nbs=
p;            &=
nbsp;           &nbs=
p;            &=
nbsp;           &nbs=
p; =20
SRFDSA0142\\///SS:NullPointerException:mark incomplete=

 

Below is the expected=
results
from=20

  ABC_011=20
0311          =20
0311      Pat Asc     =
=20
FirstName LastName MiddleName ABCAHS:  no City present, City=20
Required...

 

@array [0]=3D"ABC_011"
@array=20
[1]=3D"0311"
@array [2]=3D""
@array [3]=3D"0311"
@array [4]=
=3D"Pat=20
Asc"
@array [5]=3D"FirstName LastName MiddleName"
@array=20
[6]=3D"ABCAHS:  no City present, City=
Required..."

 


from
  ABC_000 0903=20
9.0a1     0903      Pat=20
Asc      FirstName=20
=
LastName           =
=20
blah blah blah Series Timeframe max

 

@array [0]=3D"ABC_000"
@array=20
[1]=3D"0903"
@array [2]=3D"9.0a1"
@array [3]=3D"0903"
@array [4]=
=3D"Pat=20
Asc"
@array [5]=3D"FirstName LastName"
@array [6]=3D"blah blah=
blah Series=20
Timeframe max"

 


size=3D2>from
  ABC_579 0903 0303_AB99=20
0311      Cat=20
=
Dog            =
;   =20
LastName MiddleName Serivce Summarisation not option sorting by=20
Date.

 

@array [0]=3D"ABC_579"
@array=20
[1]=3D"0903"
@array [2]=3D"0303_AB99"
@array [3]=3D"0311"
@array=
[4]=3D"Cat=20
Dog"
@array [5]=3D"LastName MiddleName"
@array [6]=3D"Serivce=
Summarisation=20
not option sorting by Date."

 

 

Thanks

Sushil

=3D2> 




color=
=3D#000000>------------------------------------------------- ---------------=
------------
This=20
message and any included attachments are from Siemens Medical=
Solutions=20

and are intended only for the addressee(s).
The information=
=20
contained herein may include trade secrets or privileged or=20

otherwise confidential information. Unauthorized review,=
forwarding,=20
printing,
copying, distributing, or using such information is=20
strictly prohibited and may
be unlawful. If you received this=20
message in error, or have reason to believe
you are not=
authorized=20
to receive it, please promptly delete this message and
notify=
the=20
sender by e-mail with a copy to onclick=3D"return top.js.OpenExtLink(window,event,this)"=20
href=3D"mailto:Central.SecurityOffice@siemens.com"=20
target=3D_blank>Central.SecurityOffice@siemens.com=


Thank=20
=
you

______________________________=
_________________
ActivePerl=20
mailing list
top.js.OpenExtLink(window,event,this)"=20
href=3D"mailto:ActivePerl@listserv.ActiveState.com"=20
target=3D_blank>ActivePerl@listserv.ActiveState.com

To=
unsubscribe: onclick=3D"return top.js.OpenExtLink(window,event,this)"=20
href=3D"http://listserv.activestate.com/mailman/mysubs"=20
target=3D_blank>http://listserv.ActiveState.com/mailman/mysu bs=

clear=3Dall>



=3D#000000>------------------------------------------------- ---------------=
------------

This message and any included attachments are from Siemens Medical=
Solutions

and are intended only for the addressee(s).

The information contained herein may include trade secrets or privileged or=


otherwise confidential information. Unauthorized review, forwarding,=
printing,

copying, distributing, or using such information is strictly prohibited and=
may

be unlawful. If you received this message in error, or have reason to=
believe

you are not authorized to receive it, please promptly delete this message=
and

notify the sender by e-mail with a copy to=
Central.SecurityOffice@siemens.com



Thank you


------_=_NextPart_002_01C7DC45.53C38DF2--
------_=_NextPart_001_01C7DC45.53C38DF2
Content-Type: text/plain;
name="aaaaaaaaaaaaaaa.txt"
Content-Transfer-Encoding: base64
Content-Description: aaaaaaaaaaaaaaa.txt
Content-Disposition: attachment;
filename="aaaaaaaaaaaaaaa.txt"

RmlsZSAxDQoJCUFCQ18wMTEgMDMxMSAgICAgICAgICAgMDMxMSAgICAgIFBh dCBBc2MgICAgICBG
aXJzdE5hbWUgTGFzdE5hbWUgTWlkZGxlTmFtZSBBQkNBSFM6ICBubyBDaXR5 IHByZXNlbnQsIENp
dHkgUmVxdWlyZWQuLi4NCgkJQUJDXzAxMCBWOUQyIDAzMTAgICAgICAwMzEx ICAgICAgUmVxdWly
ZXMgICAgIEZpcnN0TmFtZSBNaWRkbGVOYW1lICAgICAgICAgIFNBTkFIIDMu MHgtIDU1KyBVc2Vy
IEZpZWxkcyBVSS0gOiBubyBmZWF0dXJlLg0KCQlBQkNfMDAwIDA5MDMgOS4w YTEgICAgIDA5MDMg
ICAgICBQYXQgQXNjICAgICAgRmlyc3ROYW1lIExhc3ROYW1lICAgICAgICAg ICAgYmxhaCBibGFo
IGJsYWggU2VyaWVzIFRpbWVmcmFtZSBtYXggDQoJCUFCQ181NzkgMDkwMyAw MzAzX0FCOTkgMDMx
MSAgICAgIENhdCBEb2cgICAgICAgICAgICAgICAgTGFzdE5hbWUgTWlkZGxl TmFtZSBTZXJpdmNl
IFN1bW1hcmlzYXRpb24gbm90IG9wdGlvbiBzb3J0aW5nIGJ5IERhdGUuDQoJ CUFCQ183MDcgMDkw
MyAgICAgICAgICAgMDMxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICBTUkZEU0EwMTQyXFwvLy9TUzpOdWxsUG9pbnRlckV4Y2VwdGlv bjptYXJrIGluY29t
cGxldGUNCgkJQUJDXzcwNyAwOTAzICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSRkRTQTAxNDJcXC8vL1NT Ok51bGxQb2ludGVy
RXhjZXB0aW9uOm1hcmsgaW5jb21wbGV0ZQ0KDQpGaWxlIDIgKFNlZSBoZXJl IGZpZWxkIGxlbmd0
aCBpcyBjaGFuZ2VkIGJhc2VkIG9uIHRoZSByZWR1Y2VkIHNpemUgb2YgdGhl IGRhdGEgdGhhdCBp
cyBnb2luZyBpbiB0aGUgZmllbGQpDQoJCUFCQ18wMTEgMDMxMSAgICAgICAw MzExIFBhdCBBIEZp
cnN0TmFtZSBMYXN0TmFtZSAgIEFCQ0FIUzogIG5vIENpdHkgcHJlc2VudCwg Q2l0eSBSZXF1aXJl
ZC4uLg0KCQlBQkNfMDEwIFY5RDIgMDMxMCAgMDMxMSBSZXEgICBGaXJzdE5h bWUgTWlkZGxlTmFt
ZSBTQU5BSCAzLjB4LSA1NSsgVXNlciBGaWVsZHMgVUktIDogbm8gZmVhdHVy ZS4NCgkJQUJDXzAw
MCAwOTAzIDkuMGExIDA5MDMgUGF0ICAgRmlyc3ROYW1lIExhc3ROYW1lICAg YmxhaCBibGFoIGJs
YWggU2VyaWVzIFRpbWVmcmFtZSBtYXggDQoJCUFCQ181NzkgMDkwMyAgICAg ICAwMzExIENhdCAg
IExhc3ROYW1lIE1pZGRsZU5hbWUgIFNlcml2Y2UgU3VtbWFyaXNhdGlvbiBu b3Qgb3B0aW9uIHNv
cnRpbmcgYnkgRGF0ZS4NCgkJQUJDXzcwNyAwOTAzICAgICAgIDAzMTEgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgU1JGRFNBMDE0MlxcLy8vU1M6TnVsbFBvaW50ZXJFeGNl cHRpb246bWFyayBp
bmNvbXBsZXRlDQoJCUFCQ183MDcgMDkwMyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgIFNSRkRTQTAxNDJcXC8vL1NTOk51bGxQb2ludGVyRXhjZXB0aW9u Om1hcmsgaW5jb21w
bGV0ZQ0KDQpGaWxlIDMgKFNlZSBoZXJlIGZpZWxkIGxlbmd0aCBpcyBjaGFu Z2VkIGJhc2VkIG9u
IHRoZSByZWR1Y2VkIHNpemUgb2YgdGhlIGRhdGEgdGhhdCBpcyBnb2luZyBp biB0aGUgZmllbGQp
DQoNCgkJQUJDXzAwMCAwOTAzIDkuMGExICAgICAwOTAzIFBhdCAgICAgRmly c3ROYW1lIExhc3RO
YW1lICAgICAgICAgICAgYmxhaCBibGFoIGJsYWggU2VyaWVzIFRpbWVmcmFt ZSBtYXggDQoJCUFC
Q181NzkgMDkwMyAwMzAzX0FCOTkgMDMxMSBDYXQgRG9nIEZpcnN0TmFtZSBM YXN0TmFtZSBNaWRk
bGVOYW1lIFNlcml2Y2UgU3VtbWFyaXNhdGlvbiBub3Qgb3B0aW9uIHNvcnRp bmcgYnkgRGF0ZS4N
CgkJQUJDXzcwNyAwOTAzICAgICAgICAgICAwMzExICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgU1JGRFNBMDE0MlxcLy8vU1M6TnVsbFBvaW50ZXJFeGNl cHRpb246bWFyayBp
bmNvbXBsZXRlDQo=

------_=_NextPart_001_01C7DC45.53C38DF2
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
------_=_NextPart_001_01C7DC45.53C38DF2--

Re: Splitting String in array

am 13.08.2007 03:47:52 von Williamawalters

--part1_ca5.16017579.33f11248_boundary
Content-Type: multipart/alternative;
boundary="-----------------------------1186969669"


-------------------------------1186969669
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

hi sushil --

so you need to determine fixed field column positions in a file that uses a
space as the
field delimiter, and has text string data fields with leading, embedded and
trailing spaces,
and has no string quoting mechanism? wow.


attached is some code that may address your problem -- at least in part.

the approach i have come up with is certainly not perfect. it is
susceptible to false-positive
detection of fields. if you know that all your files always have a certain
number of fields,
this may be fairly easy to defend against.

the code also depends on my assumption that empty fields are not truncated
from the
end of a record. for instance, if line 6 of example file 1 were just
``ABC_707 0903'', my
method would fail, although this failure also would be defensible if you
were expecting a
known number of fields to be seen.

further comments and discussion are contained in the attached file.

please feel free to contact me if you have any questions.

hth -- bill walters




************************************** Get a sneak peek of the all-new AOL at
http://discover.aol.com/memed/aolcom30tour

-------------------------------1186969669
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable





Arial"=20
bottomMargin=3D7 leftMargin=3D7 topMargin=3D7 rightMargin=3D7> e_document=20
face=3DArial color=3D#000000 size=3D2>

hi sushil --  

 

so you need to determine fixed field column positions in a file that us=
es a=20
space as the

field delimiter, and has text string data fields with leading,=20
embedded and trailing spaces,

and has no string quoting mechanism?   wow.   >
 


attached is some code that may address your problem -- at least in=20
part.  

 
the approach i have come up with is certainly=20
not perfect.   it is susceptible to false-positive

detection of fields.   if you know that all your files always=
=20
have a certain number of fields,

this may be fairly easy to defend against.  

 

the code also depends on my assumption that empty fields are not trunca=
ted=20
from the

end of a record.   for instance, if line 6 of example file 1=20=
were=20
just ``ABC_707 0903'', my

method would fail, although this failure also would be defens=
ible=20
if you were expecting a

known number of fields to be seen.  

 

further comments and discussion are contained in the attached=20
file.  

 

please feel free to contact me if you have any questions.  =20

 

hth -- bill walters  

 



<=
/BODY>

-------------------------------1186969669--

--part1_ca5.16017579.33f11248_boundary
Content-Type: application/octet-stream; name="a15_2.pl"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="a15_2.pl"

IyBhMTVfMi5wbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAxMmF1ZzA3d2F3DQoNCiMgRnJvbTogc3VzaGlsLm5l Z2lAc2llbWVu
cy5jb20NCiMgUkU6IFNwbGl0dGluZyBTdHJpbmcgaW4gYXJyYXkNCiMgRGF0 ZSBSZWMnZDog
OC8xMS8yMDA3IDI6NTY6NDQgUC5NLiBFRFQNCiMNCg0KIyBUaGFua3MgRWUg YW5kIEJpbGws
DQojDQojIEJvdGggeW91ciBzb2x1dGlvbiB3b3JrIHBlcmZlY3RseSBmb3Ig dGhlIGRhdGEg
c2V0IHRoYXQgSSBwcm92aWRlZC4NCiMgSG93ZXZlciBJIHRoaW5rIEkgbWlz c2VkIGluIGV4
cGxhaW5pbmcgYW4gaW1wb3J0YW50IHBvaW50Lg0KIw0KIyBUaGUgc2FtcGxl IHdhcyBvbmx5
IG9uZSBmaWxlIG91dCBvZiB0aG91c2FuZHMgb2YgZmlsZSB0aGF0IG5lZWQN CiMgdG8gYmUg
cGFyc2VkLiBTZWUgYXR0YWNoZWQgYXMgYW5vdGhlciBleGFtcGxlIHdoaWNo IHNob3dzIHdo
YXQNCiMgSSBtZWFuIHRvIHNheS4gVGhpcyBpcyB3aGVyZSBJIGFtIGdldHRp bmcgc3R1Y2sg
YXMgdGhlDQojICJmaWVsZCB3aWR0aCBpcyBub3QgY29uc3RhbnQiLiAoSXQg Y2hhbmdlcyBp
biBkaWZmZXJlbnQgZmlsZXMNCiMgYmFzZWQgb24gdGhlIG1heCBsZW5ndGgg b2YgdGhlIGRh
dGEgaW4gYSBwYXJ0aWN1bGFyIGZpZWxkKS4NCiMNCiMgQW55IHRob3VnaHRz IG9uIG1ha2lu
ZyBhIGdlbmVyaWMgcGFyc2VyIHNjcmlwdCB0byBjcmVhdGUgYW4gYXJyYXkN CiMgZm9yIHRo
aXM/DQojDQojIFRoYW5rcyBTdXNoaWwNCg0KIyBDQVVUSU9OOiBkb3VibGUt cXVvdGUgaW50
ZXJwb2xhdGlvbiBpbiBoZXJlLWRvY3MgbXVuZ3MgdGhlIGJhY2tzbGFzaGVz DQojIGluIHRo
ZXNlIGV4YW1wbGUgZmlsZXMNCg0KbXkgJEZpbGUxID0gPDxGSUxFOw0KCQlB QkNfMDExIDAz
MTEgICAgICAgICAgIDAzMTEgICAgICBQYXQgQXNjICAgICAgRmlyc3ROYW1l IExhc3ROYW1l
IE1pZGRsZU5hbWUgQUJDQUhTOiAgbm8gQ2l0eSBwcmVzZW50LCBDaXR5IFJl cXVpcmVkLi4u
DQoJCUFCQ18wMTAgVjlEMiAwMzEwICAgICAgMDMxMSAgICAgIFJlcXVpcmVz ICAgICBGaXJz
dE5hbWUgTWlkZGxlTmFtZSAgICAgICAgICBTQU5BSCAzLjB4LSA1NSsgVXNl ciBGaWVsZHMg
VUktIDogbm8gZmVhdHVyZS4NCgkJQUJDXzAwMCAwOTAzIDkuMGExICAgICAw OTAzICAgICAg
UGF0IEFzYyAgICAgIEZpcnN0TmFtZSBMYXN0TmFtZSAgICAgICAgICAgIGJs YWggYmxhaCBi
bGFoIFNlcmllcyBUaW1lZnJhbWUgbWF4DQoJCUFCQ181NzkgMDkwMyAwMzAz X0FCOTkgMDMx
MSAgICAgIENhdCBEb2cgICAgICAgICAgICAgICAgTGFzdE5hbWUgTWlkZGxl TmFtZSBTZXJp
dmNlIFN1bW1hcmlzYXRpb24gbm90IG9wdGlvbiBzb3J0aW5nIGJ5IERhdGUu DQoJCUFCQ183
MDcgMDkwMyAgICAgICAgICAgMDMxMSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICBTUkZEU0EwMTQyXFwvLy9TUzpOdWxsUG9pbnRl ckV4Y2VwdGlv
bjptYXJrIGluY29tcGxldGUNCgkJQUJDXzcwNyAwOTAzICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNS RkRTQTAxNDJc
XC8vL1NTOk51bGxQb2ludGVyRXhjZXB0aW9uOm1hcmsgaW5jb21wbGV0ZQ0K RklMRQ0KDQpt
eSAkRmlsZTIgPSA8PEZJTEU7ICAjIChTZWUgaGVyZSBmaWVsZCBsZW5ndGgg aXMgY2hhbmdl
ZCBiYXNlZCBvbiB0aGUgcmVkdWNlZCBzaXplIG9mIHRoZSBkYXRhIHRoYXQg aXMgZ29pbmcg
aW4gdGhlIGZpZWxkKQ0KCQlBQkNfMDExIDAzMTEgICAgICAgMDMxMSBQYXQg QSBGaXJzdE5h
bWUgTGFzdE5hbWUgICBBQkNBSFM6ICBubyBDaXR5IHByZXNlbnQsIENpdHkg UmVxdWlyZWQu
Li4NCgkJQUJDXzAxMCBWOUQyIDAzMTAgIDAzMTEgUmVxICAgRmlyc3ROYW1l IE1pZGRsZU5h
bWUgU0FOQUggMy4weC0gNTUrIFVzZXIgRmllbGRzIFVJLSA6IG5vIGZlYXR1 cmUuDQoJCUFC
Q18wMDAgMDkwMyA5LjBhMSAwOTAzIFBhdCAgIEZpcnN0TmFtZSBMYXN0TmFt ZSAgIGJsYWgg
YmxhaCBibGFoIFNlcmllcyBUaW1lZnJhbWUgbWF4DQoJCUFCQ181NzkgMDkw MyAgICAgICAw
MzExIENhdCAgIExhc3ROYW1lIE1pZGRsZU5hbWUgIFNlcml2Y2UgU3VtbWFy aXNhdGlvbiBu
b3Qgb3B0aW9uIHNvcnRpbmcgYnkgRGF0ZS4NCgkJQUJDXzcwNyAwOTAzICAg ICAgIDAzMTEg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU1JGRFNBMDE0MlxcLy8vU1M6 TnVsbFBvaW50
ZXJFeGNlcHRpb246bWFyayBpbmNvbXBsZXRlDQoJCUFCQ183MDcgMDkwMyAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSRkRTQTAxNDJcXC8vL1NT Ok51bGxQb2lu
dGVyRXhjZXB0aW9uOm1hcmsgaW5jb21wbGV0ZQ0KRklMRQ0KDQpteSAkRmls ZTMgPSA8PEZJ
TEU7ICAjIChTZWUgaGVyZSBmaWVsZCBsZW5ndGggaXMgY2hhbmdlZCBiYXNl ZCBvbiB0aGUg
cmVkdWNlZCBzaXplIG9mIHRoZSBkYXRhIHRoYXQgaXMgZ29pbmcgaW4gdGhl IGZpZWxkKQ0K
CQlBQkNfMDAwIDA5MDMgOS4wYTEgICAgIDA5MDMgUGF0ICAgICBGaXJzdE5h bWUgTGFzdE5h
bWUgICAgICAgICAgICBibGFoIGJsYWggYmxhaCBTZXJpZXMgVGltZWZyYW1l IG1heA0KCQlB
QkNfNTc5IDA5MDMgMDMwM19BQjk5IDAzMTEgQ2F0IERvZyBGaXJzdE5hbWUg TGFzdE5hbWUg
TWlkZGxlTmFtZSBTZXJpdmNlIFN1bW1hcmlzYXRpb24gbm90IG9wdGlvbiBz b3J0aW5nIGJ5
IERhdGUuDQoJCUFCQ183MDcgMDkwMyAgICAgICAgICAgMDMxMSAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNSRkRTQTAxNDJcXC8vL1NTOk51bGxQ b2ludGVyRXhj
ZXB0aW9uOm1hcmsgaW5jb21wbGV0ZQ0KRklMRQ0KDQoNCj1jb21tZW50DQoN CmhpIHN1c2hp
bCAtLQ0KDQpvaywgeWVzLCB5b3UgaGF2ZSBhIHByb2JsZW0sIGFuZCBhIHRy aWNreSBvbmUh
DQoNCmJhc2VkIG9uIHdoYXQgeW91IGhhdmUgc2FpZCBpbiB5b3VyIHBvc3Rz IGFuZCBvbiB3
aGF0IGkgY2FuIGdsZWFuLA0KZ3Vlc3MsIGluZmVyIGFuZCBpbWFnaW5lIGZy b20gdGhlIGV4
YW1wbGVzIGdpdmVuLCBpIGhhdmUgY29tZSB1cCB3aXRoDQphIHNldCBvZiBh c3N1bXB0aW9u
cyB0aGF0IGZvcm0gdGhlIGJhc2lzIGZvciB0aGUgYXBwcm9hY2ggaSB3aWxs DQpzdWdnZXN0
Lg0KDQpBU1NVTVBUSU9OUzoNCiAgICAtIGNoYXJhY3RlcnMgb2YgZmlsZXMg YXJlIGFzY2lp
IGxhdGluLTEuDQogICAgLSB0aGVyZSBpcyBubyBleHBsaWNpdCBpbmZvcm1h dGlvbiBpbiB0
aGUgZGF0YSBjb250YWluZWQgaW4gYQ0KICAgICAgZmlsZSB0aGF0IGdpdmVz IHRoZSBwb3Np
dGlvbiBvciB3aWR0aCBvZiBhbnkgZGF0YSBmaWVsZCBpbg0KICAgICAgdGhl IGZpbGU7IGUu
Zy4sIHRoZSBkYXRhIGluIGZpZWxkIG4gZG8gTk9UIGdpdmUgdGhlIHN0YXJ0 aW5nDQogICAg
ICBjb2x1bW4gbnVtYmVyLCBldGMuLCBvZiBmaWVsZCBtLg0KICAgIC0gZXZl cnkgbGluZSBi
ZWdpbnMgd2l0aCAyIHRhYiBjaGFyYWN0ZXJzLg0KICAgIC0gdGhlIGRhdGEg b2YgZXZlcnkg
ZmllbGQgaXMgaW4gdGhlIGZvcm0gb2Ygbm9uLXdoaXRlc3BhY2Ugc3RyaW5n cywNCiAgICAg
IHBvc3NpYmx5IHdpdGggbGVhZGluZywgZW1iZWRkZWQsIG9yIHRyYWlsaW5n IHdoaXRlc3Bh
Y2UuDQogICAgLSB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGZpZWxkIGlzIHBy ZWNlZGVkIGJ5
IGEgc3BhY2UgKDB4MjApIGNoYXJhY3Rlci4NCiAgICAtIHRoZSBwcmVzZW5j ZSBvZiBhIHNw
YWNlIGNoYXJhY3RlciBpcyBOT1Qgc3VmZmljaWVudCB0byBpbmZlcg0KICAg ICAgdGhlIGJl
Z2lubmluZyBvZiBhIGZpZWxkOiBpdCBtYXkgYmUgYSBwYXJ0IG9mIGxlYWRp bmcsIGVtYmVk
ZGVkDQogICAgICBvciB0cmFpbGluZyB3aGl0ZXNwYWNlIGluIHRoZSB0ZXh0 IG9mIHRoZSBm
aWVsZC4NCiAgICAtIGEgc3BhY2Ugb3Igc3BhY2VzIHdpbGwgYmUgdGhlIG9u bHkgZmllbGQg
c2VwYXJhdG9yIGNoYXJhY3RlcnMNCiAgICAgIGFmdGVyIHRoZSBwYWlyIG9m IHRhYnMgYXQg
dGhlIHN0YXJ0IG9mIGVhY2ggbGluZS9yZWNvcmQuDQogICAgLSB0aGVyZSBh cmUgbm8gZGVm
YXVsdGVkIGZpZWxkcyBpbiBhbnkgcmVjb3JkLg0KICAgICAgaS5lLiwgYW55 IGVtcHR5IGZp
ZWxkIG9yIGZpZWxkcyBhdCB0aGUgZW5kIG9mIGEgcmVjb3JkIChsaW5lKQ0K ICAgICAgd2ls
bCBiZSBmaWxsZWQgd2l0aCBzcGFjZXMgKG9yIHNvbWV0aGluZykgdG8gZnVs bCBmaWVsZCB3
aWR0aCwNCiAgICAgIG5vdCB0cnVuY2F0ZWQsIGFuZCBmaWVsZCBkZWxpbWl0 ZXJzIHdpbGwg
YmUgcHJlc2VydmVkLg0KDQpnaXZlbiB0aGVzZSBhc3N1bXB0aW9ucywgdGhl IG9ubHkgYXBw
cm9hY2ggaSBjYW4gc2VlIGlzIHRvIGRvIHNvbWUNCmtpbmQgb2YgYW5hbHlz aXMgb2YgYSBs
YXJnZSBudW1iZXIgb2YgdGhlIGxpbmVzIG9mIGEgZmlsZSAobWF5YmUNCmFs bCBvZiB0aGVt
KSBhbmQgdHJ5IHRvIGluZmVyIHRoZSBmaWVsZCBib3VuZGFyaWVzIG9mIHRo YXQgZmlsZS4N
Cg0KaWYgeW91IGxvb2sgYXQgYWxsIHRoZSBsaW5lcyBvZiBhIGZpbGUgYW5k IGZpbmQgdGhh
dCBjZXJ0YWluIGNvbHVtbnMNCm5ldmVyIGNvbnRhaW4gYW55dGhpbmcgb3Ro ZXIgdGhhbiBh
IHRhYiwgYW5kIG90aGVyIGNvbHVtbnMgbmV2ZXINCmNvbnRhaW4gYW55dGhp bmcgb3RoZXIg
dGhhbiBhIHNwYWNlLCB0aGVuIHlvdSBjYW4gR1VFU1MgdGhhdCBhIGRhdGEN CmZpZWxkIGJl
Z2lucyBpbiB0aGUgZmlyc3QgY29sdW1uIGFmdGVyIGEgc3RyaW5nIG9mIG9u ZSBvciBtb3Jl
IG9mDQp0aGVzZSBjb25zdGFudC1wb3NpdGlvbiB3aGl0ZXNwYWNlIGNoYXJh Y3RlcnMuICBh
ZnRlciB5b3UgZ3Vlc3MgdGhlDQpzdGFydCBvZiBlYWNoIGZpZWxkLCBpdCdz IGVhc3kgdG8g
Y2FsY3VsYXRlIHRoZSB3aWR0aHMgb2YgdGhlIGZpZWxkcy4NCg0KdGhpcyBp cyBvYnZpb3Vz
bHkgYW4gaW1wZXJmZWN0IGhldXJpc3RpYy4NCg0KZm9yIGV4YW1wbGUsIGlu IHRoZSBjYXNl
IG9mIGZpbGUgMSwgaWYgeW91IGxvb2sgYXQgYWxsIHRoZSBsaW5lcyBvZg0K dGhlIGZpbGUg
YW5kIGZpbmQgdGhhdCB0aGUgY2hhcmFjdGVyIGluIGNvbHVtbiAxICh3aXRo IGNvbHVtbnMN
CnN0YXJ0aW5nIGF0IDApIGlzIGFsd2F5cyBhIHRhYiwgYW5kIHRoYXQgdGhl IGNoYXJhY3Rl
cnMgaW4gY29sdW1ucyA5LA0KMTQsIDI0IGFuZCAzNCBhcmUgYWx3YXlzIHNw YWNlcywgdGhl
biBvbmUgY2FuIEdVRVNTIHRoYXQgZmllbGRzDQpiZWdpbiBpbiBjb2x1bW5z IDIsIDEwLCAx
NSwgMjUgYW5kIDM1LCB3aXRoIGNvcnJlc3BvbmRpbmcgd2lkdGhzLg0KaG93 ZXZlciwgY29u
dGludWluZyB0aGlzIHByb2Nlc3Mgd2l0aCBmaWxlIDEgbGVhZHMgdXMgdG8g c2VlIGZpZWxk
cw0KYmVnaW5uaW5nIGF0IGNvbHVtbnMgNDgsIDU4IGFuZCA3OCwgYW5kIGlm IGkgYW0gR1VF
U1NJTkcgY29ycmVjdGx5LA0KdGhlcmUgaXMgTk8gdmFsaWQgZmllbGQgYmVn aW5uaW5nIGF0
IGNvbHVtbiA1OCBpbiBmaWxlIDE7IHRoaXMgaXMNCmFjdHVhbGx5IGluIHRo ZSBtaWRkbGUg
b2YgdGhlIGBuYW1lJyBmaWVsZC4gIHRoZSBvdGhlciBmaWxlcyBhbHNvDQpz aG93IGV4YW1w
bGVzIG9mIHNwdXJpb3VzIGZpZWxkcy4NCg0KdGhlIHRyaWNrLCB0aGVuLCBp cyB0byBmaWd1
cmUgb3V0IHNvbWUgd2F5IG9mIGFuYWx5emluZyB0aGVzZSBmaWxlcw0KdG8g ZmluZCB0aGlz
IGluZm8gaW4gYSByZWFzb25hYmxlIHRpbWUuDQoNCmhlcmUgaXMgbXkgYXBw cm9hY2g6DQog
ICAgLSBiaXR3aXNlLWFuZCB0b2dldGhlciBhbGwgdGhlIGxpbmVzIG9mIGEg ZmlsZTsNCiAg
ICAtIGFuYWx5emUgdGhlIHNpbmdsZSBsaW5lIHJlc3VsdGluZyBmcm9tIHRo aXMgcHJvY2Vz
cyB0byBmaW5kDQogICAgICBjb2x1bW4gcG9zaXRpb25zIHRoYXQgb25seSBl dmVyIGhlbGQg
YSBzcGFjZSAodHdvIHRhYnMgYXJlDQogICAgICBhc3N1bWVkIGF0IHRoZSBz dGFydCBvZiBl
dmVyeSBsaW5lKTsNCiAgICAtIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCBjb2x1 bW4gYWZ0ZXIg
YW55IHN1Y2ggZ3JvdXAgb2Ygb25lDQogICAgICBvciBtb3JlIGNvbnN0YW50 IHNwYWNlIGNv
bHVtbnMgaXMgdGhlIHN0YXJ0IG9mIGEgZmllbGQ7DQogICAgLSBjcm9zcyB5 b3VyIGZpbmdl
cnMgYW5kIGhvcGUgeW91J3JlIHJpZ2h0Lg0KDQpoZXJlJ3Mgc29tZSBjb2Rl Li4uDQoNCj1j
dXQNCg0KdXNlIHdhcm5pbmdzOw0KdXNlIHN0cmljdDsNCg0KDQpteSAoJGFs bF8wcywgJGFs
bF8xcyk7ICAjIGFjY3VtdWxhdG9ycyBmb3IgY29uc3RhbnQgYml0IGNvbHVt bnMNCg0KIyBh
Y2N1bXVsYXRpbmcgYml0cyBiZXlvbmQgdGhlIGxlbmd0aCBvZiB0aGUgc2hv cnRlc3QgbGlu
ZSBvZiBmaWxlIGlzDQojIG5vdCBuZWVkZWQgYmVjYXVzZSBhbiB1bmNoYW5n aW5nIGNoYXJh
Y3RlciBjYW5ub3QgZXhpc3QgaWYgYW55IGxpbmUNCiMgb2YgdGhlIGZpbGUg ZG9lcyBub3Qg
aGF2ZSB0aGF0IGNoYXJhY3RlciBwb3NpdGlvbi4NCiMNCiMgQ0FVVElPTjog dGhpcyBhc3N1
bWVzIG5vIHRydW5jYXRlZCBsaW5lcyB3aGVuIHRyYWlsaW5nIGZpZWxkcyBh cmUgZW1wdHku
DQojIGUuZy4sIGlmIGxpbmUgNiBpbiBleGFtcGxlIGZpbGUgYEZpbGUxJyB3 ZXJlIGBBQkNf
NzA3IDA5MDMnLCB0aGUNCiMgYXBwcm9hY2ggZ2l2ZW4gaGVyZSB3aWxsIGZh aWwsIGFsdGhv
dWdoIHBlcmhhcHMgZGV0ZWN0YWJseS4NCg0KIyBub3RlOiBmaWxlIGNsb3Nl L2Vycm9yIGNo
ZWNraW5nIHN0dWZmIGluY2x1ZGVkIGp1c3QgZm9yIGNvbXBsZXRlbmVzcy4N Cm9wZW4gbXkg
JGRhdGEsICc8JywgXCRGaWxlMSBvciBkaWUgIm9wZW5pbmc6ICQhIjsNCg0K IyBmaXJzdCBs
aW5lIG9mIGZpbGUgaW5pdGlhbGl6ZXMgYml0IGNvbHVtbiBhY2N1bXVsYXRv cnMuDQokYWxs
XzFzID0gPCRkYXRhPjsNCiRhbGxfMHMgPSB+ICRhbGxfMXM7DQoNCiMgYWNj dW11bGF0ZSB1
bmNoYW5naW5nIDBzIGFuZCAxcyBpbiBiaXQgY29sdW1ucyBpbiByZW1haW5p bmcgbGluZXMu
Li4NCndoaWxlIChkZWZpbmVkIChteSAkbGluZSA9IDwkZGF0YT4pKSB7DQog ICAgJGFsbF8x
cyAmPSAgICRsaW5lOyAjIGFjY3VtdWxhdGUgY29sdW1ucyBvZiBiaXRzIGFs d2F5cyAxDQog
ICAgJGFsbF8wcyAmPSB+ICRsaW5lOyAjIGFjY3VtdWxhdGUgY29sdW1ucyBv ZiBiaXRzIGFs
d2F5cyAwDQogICAgfQ0KIyAkISBhbmQgZGllICJyZWFkaW5nOiAkISI7ICAj IGludmFsaWQg
aWYgcmVhZGluZyBgaW4gbWVtb3J5JyBmaWxlDQoNCmNsb3NlICRkYXRhIG9y IGRpZSAiY2xv
c2luZzogJCEiOw0KDQojIE5PVEU6IHRoZSBsZW5ndGggb2YgZWFjaCBhY2N1 bXVsYXRvciBz
dHJpbmcgd2lsbCBiZSB0aGUgbGVuZ3RoIG9mDQojIHRoZSBzaG9ydGVzdCBs aW5lIGluIHRo
ZSBmaWxlLiAgdGhpcyBpcyBkdWUgdG8gdGhlIHdheSB0aGUNCiMgYml0d2lz ZS1hbmQgb3Bl
cmF0b3Igd29ya3MuDQoNCiMgZHUoIlwkYWxsXzBzIiwgJGFsbF8wcyk7ICAj IEZPUiBERUJV
Rw0KIyBkdSgiXCRhbGxfMXMiLCAkYWxsXzFzKTsgICMgRk9SIERFQlVHDQoN CiMgdGhpcyBz
aG91bGQgbmV2ZXIgaGFwcGVuDQoobGVuZ3RoKCRhbGxfMHMpID09IGxlbmd0 aCgkYWxsXzFz
KSkgb3IgZGllICJzdHJpbmdzIG5vdCBzYW1lIGxlbmd0aCI7DQoNCiMgYXQg dGhpcyBwb2lu
dCwgYW55IGJpdCBpbiAkYWxsXzBzIHRoYXQgaXMgMSB3YXMgMCBpbiB0aGF0 IGJpdCBjb2x1
bW4NCiMgcG9zaXRpb24gaW4gZXZlcnkgbGluZSBvZiB0aGUgZmlsZS4NCiMg bGlrZXdpc2Us
IGFueSBiaXQgaW4gJGFsbF8xcyB0aGF0IGlzIDEgd2FzIDEgaW4gdGhhdCBi aXQgY29sdW1u
DQojIHBvc2l0aW9uIGluIGV2ZXJ5IGxpbmUgb2YgdGhlIGZpbGUuDQoNCiMg Zm9ybSBtYXNr
IGZvciBiaXRzIHRoYXQgYXJlIHRoZSBzYW1lIGF0IGEgZ2l2ZW4gYml0IGNv bHVtbiBwb3Np
dGlvbg0KIyBmb3IgYWxsIGxpbmVzIGluIGZpbGU6IDEgZm9yIHN1Y2ggYml0 cywgMCBmb3Ig
b3RoZXJzLg0KbXkgJGFsbF9zYW1lID0gJGFsbF8wcyBeICRhbGxfMXM7ICAj IGJpdCA9PSAx
IGlmIGFsbCB0aGUgc2FtZSBpbiBldmVyeSBsaW5lDQojIGR1KCJcJGFsbF9z YW1lIGFmdGVy
IHhvciIsICRhbGxfc2FtZSk7ICAjIEZPUiBERUJVRw0KDQojIGdpdmVuIHRo ZSBiaXQtbWFz
aywgZ2VuZXJhdGUgYW4gdW5jaGFuZ2luZy1jaGFyYWN0ZXJzIG1hc2suDQoj IENBVVRJT046
IHRoaXMgRkFJTFMgZm9yIGEgJ1wwJyBjaGFyYWN0ZXIgaW4gdGhlIGZpbGUu DQokYWxsX3Nh
bWUgPX4gdHIvXHhmZi9cMC9jOyAgIyBhbnl0aGluZyBvdGhlciB0aGFuIGZm IHRyYW5zbGF0
ZWQgdG8gMA0KIyBkdSgiXCRhbGxfc2FtZSBhZnRlciB0ciIsICRhbGxfc2Ft ZSk7ICAjIEZP
UiBERUJVRw0KDQokYWxsX3NhbWUgJj0gJGFsbF8xczsgICMgbWFzayBvdXQg YWxsIGNoYXJh
Y3RlcnMgbm90IGFsd2F5cyB0aGUgc2FtZQ0KIyBkdSgiXCRhbGxfc2FtZSBh ZnRlciBtYXNr
IiwgJGFsbF9zYW1lKTsgICMgRk9SIERFQlVHDQoNCiMgYXQgdGhpcyBwb2lu dCwgYW55IG5v
bi1udWxsIGNoYXJhY3RlciBpbiB0aGUgc3RyaW5nIHdhcyB0aGUgc2FtZSBh dA0KIyBpdHMg
cG9zaXRpb24gZm9yIGFsbCBsaW5lcyBpbiB0aGUgZmlsZSAoZXhjZXB0LCBh cyBub3RlZCwg
J1wwJykuDQoNCiMgaW5mZXIgZmllbGQgc3RhcnRpbmcgY29sdW1ucyBmcm9t IHN1cHBvc2Vk
IGZpZWxkIHNlcGFyYXRvciBncm91cHMuDQojIGluZmVyZW5jZSBwcm9jZXNz IGJlZ2lucyBq
dXN0IGFmdGVyIHRoZSBpbml0aWFsIHBhaXIgb2YgdGFiIGNoYXJhY3RlcnMN CiMgKGkuZS4s
IGF0IGNvbHVtbi9zdHJpbmcgb2Zmc2V0IDIpIGJlY2F1c2UgdGhlIHRhYnMg YXJlIGFzc3Vt
ZWQgdG8gYmUNCiMgYWx3YXlzIHByZXNlbnQgYW5kIHRodXMgaXJyZWxldmFu dA0KDQpteSAk
c2VwYXJhdG9yICA9IHFyeyBbIF0gfXhtczsgICMgYSBzaW5nbGUgc3BhY2Ug aXMgbWluaW1h
bCBzZXBhcmF0b3INCg0KbXkgJGZpZWxkX3N0YXJ0ID0gcXJ7ICg/ISAkc2Vw YXJhdG9yKSAu
IH14bXM7ICAjIGFueXRoaW5nIG5vdCBhIHNlcGFyYXRvcg0KbXkgJGZpZWxk X2JvZHkgID0g
cXJ7ICAgICAgICAgICAgICAgICAuIH14bXM7ICAjIGFueXRoaW5nIGF0IGFs bA0KbXkgJG5l
eHRfb3JfZW5kID0gcXJ7ICRzZXBhcmF0b3IgJGZpZWxkX3N0YXJ0IHwgXHog fXhtczsgICMg
bmV4dCBmaWVsZCBvciBlb3MNCg0KbXkgQG9mZnNldHNfd2lkdGhzOyAgIyB3 aWxsIGJlIGxp
c3Qgb2YgYW5vbi4gaGFzaCByZWZzLjogb2Zmc2V0L3dpZHRoIHBhaXJzDQoN CnBvcyAkYWxs
X3NhbWUgPSAyOyAgIyBza2lwIHRhYnMsIHN0YXJ0IG1hdGNoaW5nIGF0IGNv bHVtbi9zdHJp
bmcgb2Zmc2V0IDINCg0Kd2hpbGUgKCRhbGxfc2FtZSA9fiBteyAoJGZpZWxk X3N0YXJ0ICRm
aWVsZF9ib2R5Kj8pICg/PSAkbmV4dF9vcl9lbmQpIH1neG1zKSB7DQogICAg IyBwcmludGYg
InBvcyAlbGQsIFwkMSAlbGQgd2lkZSAgIiwgcG9zICRhbGxfc2FtZSwgbGVu Z3RoICQxOyAg
IyBGT1IgREVCVUcNCiAgICAjIHByaW50ZiAiXEAgJWxkLCAlbGQgd2lkZSAg IiwgJC1bMV0s
ICQrWzFdIC0gJC1bMV07ICAgICAgICAgICAjIEZPUiBERUJVRw0KICAgIG15 ICRvZmZzZXQg
PSAkLVsxXTsgICAgICAgICAgIyBwb3NpdGlvbiBvZiBzdGFydCBvZiAkMQ0K ICAgIG15ICR3
aWR0aCAgPSAkK1sxXSAtICQtWzFdOyAgIyB3aWR0aCBvZiAkMQ0KICAgIHB1 c2ggQG9mZnNl
dHNfd2lkdGhzLCB7IG9mZnNldCA9PiAkb2Zmc2V0LCAgd2lkdGggPT4gJHdp ZHRoIH07DQog
ICAgIyBhbHRlcm5hdGl2ZWx5LCBqdXN0Li4uDQogICAgIyBwdXNoIEBvZmZz ZXRzX3dpZHRo
cywgeyBvZmZzZXQgPT4gJC1bMV0sICB3aWR0aCA9PiAkK1sxXSAtICQtWzFd IH07DQogICAg
fQ0KDQojIGZpeCB1cCB0aGUgZmluYWwgb2Zmc2V0L3dpZHRoIHBhaXIgZXh0 cmFjdGVkLiAg
dGhpcyB3aWxsIGJlIHRoZSBmaW5hbA0KIyBgZXZlcnl0aGluZyB0byBlbmQg b2YgbGluZS9y
ZWNvcmQnIHVucGFjayBzcGVjaWZpZXIgaW4gdGhlIHRlbXBsYXRlLg0KJG9m ZnNldHNfd2lk
dGhzWy0xXS0+e3dpZHRofSA9ICcqJzsgICMgY2F0Y2hhbGwgc3BlY2lmaWVy DQoNCiMgcHJp
bnQgIlxuIjsgICMgRk9SIERFQlVHDQojIHByaW50ZiAib2Zmc2V0ICUycywg ZmllbGQgd2lk
dGggJTJzIFxuIiwgJF8tPntvZmZzZXR9LCAkXy0+e3dpZHRofQ0KIyAgICAg Zm9yIEBvZmZz
ZXRzX3dpZHRoczsgICMgRk9SIERFQlVHDQoNCiMgdXNlIHRoZSBleHRyYWN0 ZWQgb2Zmc2V0
L3dpZHRoIGluZm8gdG8gbWFrZSBhbiB1bnBhY2soKSB0ZW1wbGF0ZS4NCm15 ICR0ZW1wbGF0
ZSA9DQogICAgam9pbiAnICAnLA0KICAgIG1hcCAgeyAiXEAkXy0+e29mZnNl dH0gQSRfLT57
d2lkdGh9IiB9DQogICAgQG9mZnNldHNfd2lkdGhzDQogICAgOw0KDQpwcmlu dCAidW5wYWNr
KCkgdGVtcGxhdGU6IHskdGVtcGxhdGV9IjsNCg0KDQojIHN1YnJvdXRpbmVz ICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMj
DQoNCnN1YiBkdSB7DQoNCiAgICBteSAoJG1zZywgJHN0cmluZykgPSBAXzsN Cg0KICAgICRz
dHJpbmcgPSByZXZlcnNlICRzdHJpbmc7ICAjIHNvIGl0IGNhbiBiZSBjaG9w KCllZA0KDQog
ICAgcHJpbnQgIlxuIGR1bXAgJG1zZyBcbiI7DQoNCiAgICBCWVRFOg0KICAg IGZvciBteSAk
aSAoMCAuLiBsZW5ndGgoJHN0cmluZykgLSAxKSB7DQogICAgICAgIHByaW50 ZiAiJTAyeCIs
IG9yZCBjaG9wICRzdHJpbmc7DQogICAgICAgIHByaW50ICRpICUgMzIgPT0g MzEgPyAiXG4i
DQogICAgICAgICAgICA6ICRpICUgMTYgPT0gMTUgPyAiICAiDQogICAgICAg ICAgICA6ICRp
ICUgIDQgPT0gIDMgPyAiLiINCiAgICAgICAgICAgIDogICIgIg0KICAgICAg ICAgICAgOw0K
ICAgICAgICB9DQoNCiAgICBwcmludCAiXG4iOw0KDQogICAgfQ0KDQoNCl9f REFUQV9fDQoJ
CUFCQ18wMTEgMDMxMSAgICAgICAgICAgMDMxMSAgICAgIFBhdCBBc2MgICAg ICBGaXJzdE5h
bWUgTGFzdE5hbWUgTWlkZGxlTmFtZSBBQkNBSFM6ICBubyBDaXR5IHByZXNl bnQsIENpdHkg
UmVxdWlyZWQuLi4NCgkJQUJDXzAxMCBWOUQyIDAzMTAgICAgICAwMzExICAg ICAgUmVxdWly
ZXMgICAgIEZpcnN0TmFtZSBNaWRkbGVOYW1lICAgICAgICAgIFNBTkFIIDMu MHgtIDU1KyBV
c2VyIEZpZWxkcyBVSS0gOiBubyBmZWF0dXJlLg0KCQlBQkNfMDAwIDA5MDMg OS4wYTEgICAg
IDA5MDMgICAgICBQYXQgQXNjICAgICAgRmlyc3ROYW1lIExhc3ROYW1lICAg ICAgICAgICAg
YmxhaCBibGFoIGJsYWggU2VyaWVzIFRpbWVmcmFtZSBtYXgNCgkJQUJDXzU3 OSAwOTAzIDAz
MDNfQUI5OSAwMzExICAgICAgQ2F0IERvZyAgICAgICAgICAgICAgICBMYXN0 TmFtZSBNaWRk
bGVOYW1lIFNlcml2Y2UgU3VtbWFyaXNhdGlvbiBub3Qgb3B0aW9uIHNvcnRp bmcgYnkgRGF0
ZS4NCgkJQUJDXzcwNyAwOTAzICAgICAgICAgICAwMzExICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSRkRTQTAxNDJcXC8vL1NT Ok51bGxQb2lu
dGVyRXhjZXB0aW9uOm1hcmsgaW5jb21wbGV0ZQ0KCQlBQkNfNzA3IDA5MDMg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
U1JGRFNBMDE0MlxcLy8vU1M6TnVsbFBvaW50ZXJFeGNlcHRpb246bWFyayBp bmNvbXBsZXRl
DQo=

--part1_ca5.16017579.33f11248_boundary
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--part1_ca5.16017579.33f11248_boundary--