Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Drop formatting to paste plain text from Clipboard

by chanio (Priest)
on Mar 27, 2007 at 18:01 UTC ( #606820=note: print w/replies, xml ) Need Help??

in reply to Drop formatting to paste plain text from Clipboard

Actually, I am fond of these simple tasks that can make our lives easier...

When I call this script I use to mention one or two arguments that would make additional effects to the text...

The following code, adds some formating to the text. By default, it writes columns of 60 characters. But it is possible to specify any number of columns.

my $cant; $cant =shift || 60 ; ## DEFAULT: 60 COLS. use Text::Format; my $anco; ## 1ST.LINE LEFT MARGIN $anco = length($1) if ($text=~/^( +)/);## MARGIN? $anco = 0 if ($anco < 1 or $anco >= $cant);## ERROR? $cant -= $anco; ## FORMAT WITHOUT LEFT MARGIN TO ADD my @tod = (split(/\n+ */,$text)); $text=new Text::Format({ columns => $cant, text => \@tod, justify => 1, firstIndent => 0}); $result.= join(" ", ($text->paragraphs())); if ($anco) ## FORMAT WITH 1ST. LINE MARGIN... { @tod= (split(/\n+ */,$result));## GET EVERY LINE my $cant= ' ' x $anco; ## LEFT MARGIN IN SPACES $result = $cant. join("\n$cant",@tod); ## ADD LEFT MARGIN AND OUTPUT } $CLIP->Set($result); ## TO THE CLIPBOARD...
I can also transform plain text into HTML code, extract certain phrases with REGEX, transform the text into a commented block, unescape characters or escape them, sort the lines, turn them all into upper/lowercase and even eval some code while leaving it's result as the output.

This is what I call a useful toolbox..

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://606820]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2023-04-01 19:43 GMT
Find Nodes?
    Voting Booth?

    No recent polls found