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>


Reply via email to