[za-pm] Text::Format

François Marais francois at busii.com
Thu Aug 30 01:30:11 PDT 2012


Correction, s option includes newlines:  s/isbn\s*(\d+)/isbn $1/gs

On 30/08/2012 10:25, François Marais wrote:
> Hi Anne
>
> If the only problem you are tackling is breaking lines between isbn 
> and following number, then surely a simple substitute will suffice?
>
> echo 'isbn 23987
> isbn
> 98777
> isbn
> 239487
> isbn 293487
> ' |perl -p0e's/isbn\s*[\x0d\x0a]*\s*(\d+)/isbn $1/gs'
> isbn 23987
> isbn 98777
> isbn 239487
> isbn 293487
>
> (to be adjusted according to relevant line feed carriage return 
> situation)
>
> Regards
>
>
>
>
>
>
> On 29/08/2012 21:53, Anne Wainwright wrote:
>> Note: Beware! Default reply-to is to the list.
>>
>>
>> Hello,
>>
>> I am using the Text::Format module. It works well but I cannot get any
>> mileage out of one feature. I'll append the section from the pod file
>> here:
>>
>> The module will take text input from whererever and format it in various
>> ways designed to suit any conceivable need.
>>
>> This option is in this case is to  prevent breaking of a line of text 
>> at a
>> sensitive point.
>>
>> In my case i dont want to break "isbn 123456789" leaving "isbn" at the
>> end of the line and "123456789" at the start of the next.
>>
>> ------------------------------
>> noBreakRegex \%HASH || NOTHING
>>             Pass in a reference to your hash that would hold the regexes
>> on
>>             which not to break.  Without any arguments, it returns the
>> hash.
>>             eg.
>>
>>                 {'^Mrs?\.$' =>  '^\S+$','^\S+$' =>  '^(?:S|J)r\.$'}
>>
>>             don't break names such as Mr. Jones, Mrs. Jones, Jones Jr.
>> -------------------------
>>
>> this isn't really a regex query, but just to note that the above seems a
>> little weird with "Mrs" sandwiched between both start of line and finish
>> of line anchoris. Still I can make my regex to suit if that is what is
>> needed.
>>
>> So I have the following to get my regex into a hash:
>>
>>      my  %regx = ('^isbn$'=>'^[0-9]{9,13}X?$');  # my regex
>>      $text->noBreakRegex(\%regx);  # this sets the option
>>
>> Well we compile, but I have isbn breaks all over. All reasonable and
>> many unreasonable changes have no effect except to break the script.
>>
>> Any ideas welcome, please.
>>
>> Anne
>>
>> PS. I am using the Padre IDE now.
>> _______________________________________________
>> Za-pm mailing list
>> Za-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/za-pm
>>
>> posts also archived on Mail Archive
>> http://www.mail-archive.com/za-pm@pm.org/
>



More information about the Za-pm mailing list