Ooops.

Upon review -- [hide|show] should be hide|show.

        if(/^(hide|show+)Field\(([a-zA-Z]+)\(\)\)/){


Stan

On Tue, Apr 28, 2009 at 6:36 PM, Stanley Brinkerhoff <[email protected]>wrote:

> #!/usr/bin/perl
>
>
> while(<STDIN>){
>         $funcname = '';
>
>         if(/^([hide|show]+)Field\(([a-zA-Z]+)\(\)\)/){
>                 $type = $1;
>                 @functionnames =  split(/([A-Z])/, $2);
>
>                 foreach $func (@functionnames){
>                         if ($func =~ /[A-Z]/){
>                                 $func = '_' . lc($func);
>                         }
>                         $funcname .= $func;
>                 }
>                 print "\$('#" . $funcname . "')." . $type. "\n";
>         } else {
>                 print;
>         }
> }
>
> [hornet]$ perl test.pl < test.js
> test js
>
> $('#field_name').hide
> $('#field_name').show
> $('#_stan_this').show
> hidefield(stanThat())
>
> [hornet]$ cat test.js
> test js
>
> hideField(fieldName())
> showField(fieldName())
> showField(StanThis())
> hidefield(stanThat())
>
>
> Stan
>
>
> On Tue, Apr 28, 2009 at 6:10 PM, AJ ONeal <[email protected]> wrote:
>
>> I've got a 7k-line javascript file that I'm trying to make readable and
>> drastically reduce the size of.
>>
>> Essentially I have several hundred lines like
>> hideField(fieldName())
>>
>> which I would like to turn into
>> $('#field_name').hide()
>>
>> and then I could delete several hundred lines of these hideField,
>> showField, fieldAName(), fieldBName(), etc functions which are essentially
>> just wasting space and overcomplicating the code.
>>
>> I don't have enough regex-fu under my belt to have any reasonable idea of
>> how to do this.
>> Could any of you offer me some suggestions?
>>
>> AJ ONeal
>>
>
>

Reply via email to