Mattheus Henrique wrote:
Hi, I'm learning Perl but I've found some difficulties:
Why doesn't this:

[code]
#!/usr/bin/env perl
use warnings;
use strict;

while(<>){
    if(/[A-Z][^A-Z]+/){
        print;
    }
}
[/code]

Act like this:

[code]#!/usr/bin/env perl
use warnings;
use strict;

while(<>){
    if(/[A-Z][a-z]+/){
        print;
    }
}[/code]

?

Or why does this little program match? It was supposed to match an empty or
one-lettered string.
[code]
my $test = "test";
if($test =~ /\b\w?\b/){
    print $test . "$&\n";
}
[/code]


because [a-z] is not the complement of [A-Z]
[^A-Z] contain [a-z] and  all the characters NOT in either set a-z and A-Z!



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