Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Advanced Clipboard transform keys

by Koosemose (Pilgrim)
on Mar 03, 2004 at 10:01 UTC ( #333500=note: print w/ replies, xml ) Need Help??


in reply to Clipboard transform keys

For extra added fun, and laziness, add the Win32::Guitest Module into the mixture. That way you can use SendKeys() to send a copy and or paste, and only have to push your double bucky.

For this to work properly, you need to either add an extension for windowless perl scripts (i.e. using wperl) or change the batch file to call on wperl.

I have noticed a few things in Win32::Clipboard and Win32::GUITest that can bite you if you're not careful, first, it doesn't get the magic line-break translation that files and other IO operations do, so your linebreaks (mine were at least) will likely be \r\n instead of just \n. It may or may not matter according to where you are putting the output (my Email client doesn't much like just one or the other). Also apparenly, chomp only cut's off the \n, so you've gotta watch for that. And in ::GUITest, with the Sendkeys() you have to use lowercase for ctrl+c and ctrl+v, else you may end up not getting the effect you expected.

And now, a sample piece of code for making ordered lists, nice and easy, it's even set up so you can run it over pieces of text that have already been tagged, so you can make nested lists.

#!perl use Win32::GuiTest qw(SendKeys); use win32::Clipboard; my $CLIP = Win32::Clipboard(); SendKeys("^c"); my $alter = $CLIP->Get(); my @alter = split /\r\n/, $alter; foreach (@alter) { if (/\W/) { $_ = "<li> $_ </li>" if !/<li>/; $_ .= "\r\n"; } else { $_="\r\n"; } } $alter = join("",@alter); $alter = "<ol>\r\n".$alter."</ol>"; $CLIP->Set($alter); SendKeys("^v");


Comment on Advanced Clipboard transform keys
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (11)
As of 2014-12-22 22:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (132 votes), past polls