みけCATのにっき(仮)
つれづれなるまゝに、日くらし、PCにむかひて、心に移りゆくよしなし事を、そこはかとなく書きつくれば、あやしうこそものぐるほしけれ。
(本当か!?)
出典

codepadにテキストを無駄な空行があかないように投稿

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

codepadにテキストを無駄な空行があかないように投稿

投稿記事 by みけCAT » 14年前

codepadにテキストをコピペして投稿すると1行おきに無駄な改行が空いてしまいました。
http://codepad.org/ueVAcerA
そこで、Perlで空行を開けずに投稿するプログラムを作りました。

CODE:

#!/usr/bin/perl

$data="";
#読み込み
while(){$data .= $_;}
#改行コード変換
$data =~ s/\r\n/\n/g;
$data =~ s/\r/\n/g;
#URLエンコード
$data =~ s/([^\w ])/'%'.unpack('H2', $1)/eg;
$data =~ tr/ /+/;

#接続
$addr = (gethostbyname("codepad.org"))[4];
$name = pack("S n a4 x8", 2, 80, $addr);
socket(S, 2, 1, 0);
connect(S, $name);
binmode(S);
select(S); $| = 1; select(stdout);

#リクエスト送信
$tosend="lang=Plain+Text&code=". $data ."&submit=Submit";
print S "POST / HTTP/1.1\r\n";
print S "Host: codepad.org\r\n";
print S "User-Agent: CodePadGetTest\r\n";
print S "Connection: close\r\n";
print S "Content-length: " . length($tosend) . "\r\n";
print S "\r\n";
print S $tosend;

#結果の取得
$result="";
while(){ $result .= $_; }
close(S);

#URLの出力
$id="";
$result =~ s/Location: http:\/\/codepad.org\/([0-9a-zA-Z]+)/$id=$1/e;
print "http://codepad.org/" . $id;
標準入力を投稿し、URLを標準出力に出力します。
これを使うと次のようになります。
http://codepad.org/UxtYRgyy
機会があれば使ってみてください。

コメントはまだありません。