what's wrong with
my ($domain, $subdomain, $rule, $label);
while (<FH>) {
chomp;
($domain, $subdomain, $rule, $label) = split /\t/;
}
Justin
On Fri, Feb 4, 2011 at 5:04 PM, Asa Martin <[email protected]> wrote:
> I was going over some code at work and I suggested the following code
> changes while processing a four column file with columns that contain
> domain, subdomain, rule, and label. What those fields actually mean
> are irrelevant to this discussion, although they're all short character
> strings. Suffice to say, those names are meaningful to anyone with
> knowledge
> of the file. This is the original code:
>
> my ($line, @rules);
>
> while ($line = <FH>) {
> chomp $line;
> @rules = split("\t", $line);
>
> .... do stuff with $rules[0], $rules[1], $rules[2] and $rules[3] ...
>
> Here were my proposed changes:
>
> while (my $line = <FH>) {
> chomp $line;
> my ($domain, $subdomain, $rule, $label) = split("\t", $line);
>
> .... do stuff with $domain, $subdomain, $rule and $label ....
>
> I was told that "predeclaring" the variables outside the loop saved on
> memory allocation, and that using @rules instead of four named variables
> was
> also more efficient. I had never considered that this could be the case,
> and
> said I didn't think this was true, but didn't really know.
>
> Any thoughts on this? We're using perl 5.10.0
>
> Thanks,
>
> Asa
>
> _______________________________________________
> Boston-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/boston-pm
>
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm