Home  |  Linux  | Mysql  | PHP  | XML
From:Jenda Krynicky Date:Tue May 13 00:14:35 2008
Subject:Re: want to assign default value to variable I assign from split but want to know optimal way to get this done: please help!
From: Richard Lee <rich.japh@gmail.com>

> 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?

So are the defaults the same or not?

If they are you can do something like

 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];
  
for($file1,$file2,$file3,$file4,$file5,$file6,$file10,$file25,$file27)
 {
   $_  |= 'default';
  }
 }

Actually this seems to work as well:

 while (<FILE>) {
  $_  |= 'default' for 
(my($file1,$file2,$file3,$file4,$file5,$file6,$file10,$file25,$file27)
         = (split( /\|/, $_))[3,4,6,7,12,40,41,42,43,46,56,64]);
  # and some code using $file1, ...
 }

If you want a different default for each field, you can't IMHO do 
better than the original code.

Jenda 
===== Jenda@Krynicky.cz === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
	-- Terry Pratchett in Sourcery

Navigate in group perl.beginners at sever nntp.perl.org
Previous Next




  
© No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants