>> >> >> Thanks guys.  With some help I've come up with this:
>> >> >>
>> >> >> $string = 'abc def ghi jkl mno pqr stu vwx yz';
>> >> >> if(length($string) = 34) {$var1 = $string.":";}
>> >> >
>> >> > '=' is assignment, '==' is test for numerical equality.
>> >> Change the above
>> >> > line to:
>> >> >    if( length($string) == 34 ) { $var1 = $string . ':' }
>> >> >
>> >> >> if(length($string) > 34) {
>> >> >>   $string =~ s/\s//g;
>> >> >
>> >> > The above line deletes all of the spaces in $string. Is
>> >> that what you want
>> >> > to do?
>> >>
>> >> All fixed up except for this.  How can I remove only the
>> spaces at the
>> >> end of $var1 and $var2 if they exist?
>> >>
>> >> - Grant
>> >>
>> >>
>> >> >>   ($var1, $var2) = $string =~ /(.){35}(.){26}/;
>> >> >
>> >        This pulls 35 characters and splits words, yet what
>> you asked for was the last word separated. Correct?
>>
>> I'm trying to pull 35 or fewer characters to the nearest space
>> basically.  This is what I have now:
>>
>> if(length($string) <= 34) {$var1 = $string.":";}
>> if(length($string) > 34) {
>>   ($var1, $var2) = ($string =~ /(.{35})(.{26})/);
>                                         1234567891124567892123456789312345
>        if you have in $string = q[1234 12345 12 5346 12367 123 123678123];
> Then $var1 will be '1234 12345 12 5346 12367 123 12367', but I thought you 
> wanted '1234 12345 12 5346 12367 123'?
> Which one is the right one for what you are doing?

You're right, I would want:

1234 12345 12 5346 12367 123

Can you show me how to do that properly?

- Grant


>>   $var1 =~ s/\s+$//;
>>   $var2 =~ s/\s+$//;
>>   $var2 .= ":";
>> }
>>
>> Does that look OK?  Is the 3rd line off?
>>
>> - Grant

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