note
Eily
<p>Here is the longer version of the same code:
<code>
for ( $ipaddress, $prefix, $interface, $device, $location, $comment )
{
defined and s/^\s+|\s+$//g;
# or defined ? s/^\s+|\s+$//g : 1; It does the same thing
# or even if (defined) { s/^\s+|\s+$//g }
## Edit : and there is
# s/^\s+|\s+$//g if defined;
## That one is quite nice.
## Let's just say there's more than one way to do it.
}
</code>
So yeah, the instructions inside the block are run on each element, and not the array as a whole.</p>
<p>If you have to ask though, I'd advise you to go for the long version because it will run just as fast, it's just another way of writing the same thing. Here is another way to do it, which I find easy to read thanks to the [next] keyword.
<code>STRING: for( $ipaddress, $prefix, $interface, $device, $location, $comment )
{
next STRING unless defined; # We skip any element that is not defined
s/^\s+|\s+$//g;
}</code></p>
1040601
1040604