Re: want to assign default value to variable I assign from split but want to know optimal way to get this done: please help!

[email protected] (Richard Lee)
Newsgroups perl.beginners
Message-ID <[email protected]>
Rob Dixon wrote:
> Richard Lee wrote:
>   
>> while (<FILE>) {
>>      my($file1,$file2,$file3,$file4,$file5,$file6,$file10,$file25,$file27)
>>          = (split( /\|/, $_))[3,4,6,7,12,40,41,42,43,46,56,64]
>> }
>>
>> while doing above, what is the easiest way to make sure all the variable 
>> that's being given a value is true and if not
>> assign something default value (such as 'default' or 'X') ?
>>
>> I was doing (after the while loop)
>>
>> $file |= 'default'
>> $file2 |= 'default2'
>> $file3 |= 'default3'
>>
>> but I stopped and thought this cannot be so repetitious
>>
>> so I didn't want to but tried( I didn't want to put them in array since 
>> I need to use individual named variable later)
>>
>> while (<FILE>) {
>>        my @array = (split( /\|/, $_))[3,4,6,7,12,40,41,42,43,46,56,64]
>> }
>> for (@array) {
>>      $_  |= 'default';
>> }
>>
>> but is that the best way to do this?
>>     
>
> while (<FILE>) {
>   my ($file1,$file2,$file3,$file4,$file5,$file6,$file10,$file25,$file27) =
>       map $_||'default', (split /\|/)[3,4,6,7,12,40,41,42,43,46,56,64];
> }
>
> Rob
>   

Thank you everyone.

I like this solution the best and thanks for pointing out that I was 
misusing |= vs ||=

thank you all!!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.