用Win32::Clipboard模組來操作Windows的剪下板

來源:互聯網
上載者:User
每天工作都要監視某些網頁,一但這些網頁有更新,就做相應的工作。
當然不能每天人工去查看每個網頁了!於是我寫了一個Perl指令碼去自動檢查。每天上班運行一下,就知道是否有更新;有更新的話,自動把內容拷貝下來,按相應的格式存到特定的檔案裡。
但有的時候,我需要直接把這個內容複寫到其它地方,比如郵件。我同樣用Perl指令碼實現了這個功能:在完成了自動檢查後,符合情況就自動複製到Windows的剪下板。
我覺得這裡有三點值得總結一下:
1) 用Win32::Clipboard實現與Windows剪下板互動
使用這個模板,可以在命令列裡直接把內容拷貝到剪下板。
use Win32::Clipboard;$CLIP = Win32::Clipboard();
print “Clipboard contains: “, $CLIP->Get(), “\n”;
$CLIP->Set(“some text to copy into the clipboard”);
$CLIP->Empty();
$CLIP->WaitForChange();
print “Clipboard has changed!\n”;
不過這玩意在Cygwin裡死活裝不上,只能在Strawberry Perl裡用了~~
2) 讓cmd或是MSYS輸出中文
在Windows下,不管是cmd還是MSYS,如果直接在裡面列印出中文,幾乎都會亂碼;而在cmd或是MSYS下,用Win32::Clipboard拷貝東西到剪下板,也同樣會亂碼。
需要用類似於下面的方法來改進編碼的問題:
use Encode;
$infor = encode(“gbk”, decode(“UTF-8″, $_));
print $infor;
3) 響應使用者的確定操作
當把內容複寫到剪下板,則輸出一行提示,讓使用者知道複製已經完成,並等待使用者輸入任意的一個鍵以示確認,再繼續。這個功能很簡單,可以用這個語句輕鬆地實現:
<STDIN>
這樣的一個不起眼的小工具,卻省下了我一大串繁瑣的工作(比如開啟檔案、判斷、複製內容),不亦樂乎!
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.