2016-05-10 213 views
0

我在我的Ubuntu 14.04 LTS中安裝了Perl 5.18.2版本。Perl複製到剪貼板不能使用剪貼板模塊

現在我已經在geany對此我下面燒創建的自定義命令:

perl /home/ubuntu/geany_custom_cmds/get_current_directory_path.pl %f %d %e 

及以下get_current_directory_path.pl文件的代碼:

#!/usr/bin/perl -w 

# print $ARGV[0]; 
use Clipboard; 
foreach $argnum (0 .. $#ARGV) { 
    print "$ARGV[$argnum]\n"; 
    Clipboard->copy($ARGV[$argnum]); 
    print Clipboard->paste; 
} 

但我沒有得到任何參數的價值在我的Ubuntu剪貼板,我可以按Ctrl + V粘貼。

歡迎任何建議。

+1

*總是*'使用strict'和'使用警告'all''在您編寫的每個Perl程序的頂部 – Borodin

+0

我試圖在Windows 7系統中安裝Win32 :: Clipboard,但也失敗了,所以我可以不要使用Win32 :: Clipboard。我得到一些測試失敗的錯誤 –

回答

0

Clipboard模塊的編寫在Windows,Mac和Linux系統上表現良好。爲了實現它有三個不同的驅動程序模塊,它們實現了功能

Linux驅動程序使用xclip命令行工具,該工具在Ubuntu上默認不安裝。您必須

sudo apt install xclip 

安裝前的模塊會爲你工作

有真應該到模塊的文檔中這個效果的評論,因爲它是遠離明顯

1

的問題是該X-windows的具有三個不同的剪切和粘貼的概念:

  • 「初級選擇」(可與鼠標中被粘貼)
  • 「次要的選擇」(未與此有關)
  • 「剪貼板」

參考(可以用^ V被粘貼):https://linux.die.net/man/1/xsel

顯然perl的剪貼板包只知道第一次選擇。 您可能需要「主要」和「剪貼板」,或者至少「剪貼板」。

工作代碼來解決下的X-windows這個問題可以在https://www.av8n.com/security/Xclip.pm

調用中找到爲:

use Xclip; 
Xclip::copy2("some stuff"); 

要求要麼xselxclip安裝。