>    $str =~ m{ \A ( .{0,15} .*? ) \s }msx;

Yeah, this would do. I talked about the scenario where you didn't put "{0,15}", 
but just "{15}".  In that case, it wouldn't work if the value given in the 
match string (15 as per above eg.) is greater than the character count of the 
particular string (36).

<Code>
my $str = "The black cat climbed the green tree";
print "string: $str\n";

$str =~ m{ \A ( .{50} .*? ) \s }msx;
my $extracted = $1;
print "extracted: $extracted\n";
<?Code>

Result:
string: The black cat climbed the green tree
Use of uninitialized value in concatenation (.) or string at 
scripts/test/test2.pl line 14.
extracted:

But it worked for the OP (the above condition may not have been required for 
him) and that's what is important :-)

Regards,
Akhthar Parvez K
http://Tips.SysAdminGUIDE.COM
UNIX is basically a simple operating system, but you have to be a genius to 
understand the simplicity - Dennie Richie
On Sunday 18 Apr 2010, Shawn H Corey wrote:
> Akhthar Parvez K wrote:
> > Hi Shawn,
> > 
> >> $str =~ m{ \A ( .{15} .*? ) \s }msx;
> > 
> > I don't think this would work if the value given in the match string (15 as 
> > per above eg.) is greater than the character count of the particular 
> > string. Right?
> 
> No, it will fail if $str is less than 15 characters.  Try:
> 
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> 
> for my $str ( "The black cat climbed the green tree", 'A test' ){
>    my $extracted = extract( $str );
>    print "string: $str\n";
>    print "string: $extracted\n";
> }
> 
> sub extract {
>    my $str = shift @_;
> 

>    my $extracted = $1;
> 
>    return $extracted;
> }
> 
> __END__
> 
> -- 
> Just my 0.00000002 million dollars worth,
>    Shawn
> 
> Programming is as much about organization and communication
> as it is about coding.
> 
> I like Perl; it's the only language where you can bless your
> thingy.
> 
> Eliminate software piracy:  use only FLOSS.
> 



-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to