OSX10.15にバージョンアップしたら、自作のハムログソフト「Logdy」の中でクリップボードを利用している箇所がいくつかある
メモ記入の際、交信日や周波数を保存しておく、登録時に登録内容を保存しておく
など
バージョンアップしたら、使えなくなってしまったので、仕方ないのでシェルコマンドで対応するようにした
echo '保存する文字列' | pbcopy ←クリップにコピー $pstr = pbpaste ←ペースト
こんな感じだ、しかも今まで文字コードがMacJapaniseだったのがUTF8に
そこで、エンコードとデコードも書き直した
まぁ、バージョンが上がれば、不具合も出る、チマチマと手直ししながら使うほかありまあせん
# # クリップボードのテストプログラム # 2019/10/30 by jr1gdy # use utf8; use Encode qw/ from_to encode decode encode_utf8 decode_utf8 /; #以下テストプログラム my $str1="テスト 123abc次の行\n"; my $str2="追加の 文字列追加の行\n"; &pb_clear(); my $pbstr = &pb_sum_copy($str1); print encode_utf8("一回目 = $pbstr\n"); $pbstr = &pb_sum_copy($str2); print encode_utf8("二回目 = $pbstr\n"); my $paste_str = &pb_paste(); print encode_utf8("クリップのペースト: $paste_str\n"); #&pb_clear(); print("Tyin >"); while(my $stdin = <STDIN>){ #キーボードからのテスト if($stdin eq "q"){exit;} $stdin = decode_utf8($stdin); &pb_sum_copy($stdin); } print encode_utf8(&pb_paste); #---サブルーチン----------------------------------------------------------- sub pb_clear{#クリップボードのクリア `echo '' | pbcopy`; } #ペースト sub pb_paste{ my $str = `pbpaste`; $str =~ s/^\n//;#最初と最後に改行が入って来るので削除する chomp($str); $str = decode('utf8', $str); return $str; } #クリップへコピー sub pb_copy{ my ($str)=@_; $str = encode('MacJapanese',$str); `echo '$str' | pbcopy`; return; } #クリップへ追加コピー sub pb_sum_copy{ my ($str) = @_; my $sum_str = &pb_paste($str); $sum_str .= $str; &pb_copy($sum_str); return $sum_str; }