@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 $not_finished = 1; my @data = ''; $CLIP->WaitForChange(); while ( $not_finished ) { $CLIP->WaitForChange(); print "changed\n"; $_ = $CLIP->GetText; s|\x0d\x0a|\x0a|g; # remove MS line-ends if ( scalar @data == 0 ) { @data = split "\n", $_; } else { my $line = 0; for ( split "\n", $_ ) { $data[$line++] .= $_; } } if ( m|__END__| ) { $not_finished = 0; # Finished after this block! } } $CLIP->Set(join("\n",@data)); __END__ :endofperl