Owen wrote:
I have a script with these three lines and it works
$line =~ s/^\s*//; # Remove leading spaces
You should use \s+ instead of \s* because it is more efficient.
next if ($line =~ /^#/); # Skip line if it starts with #
next if ($line =~ /^\s*$/); # Ship blank lines
You removed the whitespace two lines up so there is nothing for \s to match.
I can replace lines 1 and 2 above with
next if($line =~ /\s+|#/);
However my attempts to replace all three lines
next if($line =~ /\s+|#.*$/);
gives a warning
Use of uninitialized value in concatenation (.) or string and produces return
vale? of 1
for blank lines.
I don't get that warning with that regular expression so it must be something
else in your code that is causing it.
How can I avoid these warnings with the regexp
next if $line =~ /^\s*$|^\s*#/;
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>