Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Clipboard transform key: Comma-separated list maker

by PhilHibbs (Hermit)
on Aug 19, 2003 at 18:20 UTC ( [id://284975]=note: print w/replies, xml ) Need Help??


in reply to Clipboard transform keys

Here is another clipboard transform that I use. It transforms a \n-separated list into a comma-separated list with " around each item and ( and ) around the list, wrapped to 72 columns (for use in a 3270 emulator). It doesn't use text:wrap, because a string might contain a space, and be wrapped inappropriately. I call it "cqlist.cmd" and bind it to Ctrl-Shift-'.
@rem = '--*-Perl-*-- @echo off perl -x -S "%~dpnx0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl @rem '; #!perl #line 8 use strict; use warnings; use Win32::Clipboard; my $CLIP = Win32::Clipboard(); my ($output, $lastline) = ("", "("); foreach( split m[\x0d\x0a?|\x0a\x0d?], $CLIP->GetText ) { (my $quoted = $_) =~ s/'/''/g; $quoted = qq['$quoted', ]; if( $lastline ne "" and length($lastline) + length($quoted) > 72 ) +{ chop $lastline; # remove trailing space $output .= $lastline . "\n"; $lastline = ""; } $lastline .= $quoted; } $lastline =~ s|, \z|)|; # convert last ", " to a ")" $output .= $lastline; $output =~ s|\n|\x0d\x0a|g; # convert perlish \n to windows CRLF. print $output; $CLIP->Set($output); __END__ :endofperl

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2024-04-20 06:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found