PL/I for Windows:-
%process list, opt(time);
test: procedure options (main, reorder);
declare s character (20);
s = 'a<b>c.d&e(f';
s = translate (s, (15)' ', '.<>()!@#$%^&*_+' );
put list (s);
end test;
; 7 s = translate (s, (15)' ', '.<>()!@#$%^&*_+' );
xor ecx,ecx
mov cl,[ebp-025h]; S
mov eax,offset FLAT:@CBE3
mov cl,byte ptr [eax+ecx]
mov [ebp-025h],cl; S
mov cl,[ebp-026h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-026h],cl; S
mov cl,[ebp-027h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-027h],cl; S
mov cl,[ebp-028h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-028h],cl; S
mov cl,[ebp-029h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-029h],cl; S
mov cl,[ebp-02ah]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-02ah],cl; S
mov cl,[ebp-02bh]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-02bh],cl; S
mov cl,[ebp-02ch]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-02ch],cl; S
mov cl,[ebp-02dh]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-02dh],cl; S
mov cl,[ebp-02eh]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-02eh],cl; S
mov cl,[ebp-02fh]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-02fh],cl; S
mov cl,[ebp-030h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-030h],cl; S
mov cl,[ebp-031h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-031h],cl; S
mov cl,[ebp-032h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-032h],cl; S
mov cl,[ebp-033h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-033h],cl; S
mov cl,[ebp-034h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-034h],cl; S
mov cl,[ebp-035h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-035h],cl; S
mov cl,[ebp-036h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-036h],cl; S
mov cl,[ebp-037h]; S
mov cl,byte ptr [eax+ecx]
mov [ebp-037h],cl; S
mov cl,[ebp-038h]; S
mov al,byte ptr [eax+ecx]
mov [ebp-038h],al; S