Hatena::ブログ(Diary)

Yet Another Hackadelic

2008-06-10

TeraTerm に付属の cygterm を使って perl する

id:tamagogayu が苦戦してるのでヘルプエントリ。

cygterm

f:id:ZIGOROu:20080611004146j:image

みたいな感じのショートカットを貼れば特に問題なく動作するはず。

必要な設定は既に TeraTerm 側で終わってると思うので何も考えなくても大丈夫。

後はこのリンクをダブルクリックするだけだぜ!

cygterm 上で perl で Hello World

f:id:ZIGOROu:20080611004145j:image

こんな感じですー。一字一句間違えずに打てば Hello World って表示されるはず!

頑張ってー!

2008-06-06 悩むより前進あるのみ

Windows環境でCygwinを使ってPerl実行環境を整える

たまには初心者向けの話でもしてみます。

Windows環境でPerlの実行環境と言えば、真っ先に ActivePerl と言う選択肢がありますが、個人的には*1 Cygwin がお勧めです。

お勧めする理由は、

  • 昔に比べてそれなりに扱いやすくなった。(昔はバッドノウハウだらけだった)
  • Perl に限らず実行環境はそれなりに *nix 的
  • インストールもそんなに難しく無い

とかですかね。VMWare や coLinux で本物の Linux 環境を用意する方が確実ではありますが、他にも豊富な *nix 系のツールが使えるのも強みかなと思います。

インストール

まぁ google:Cygwin インストール とかして頂ければいいんですが、多少古い情報が当たりそうなので、今ググって新しそうなのを。

このページに補足するならば、

Download Without Installing を最初に選択するのをお勧めします

インストール形式ですが、Download Without Installing にして、一度パッケージを手元にダウンロードしてしまうのをお勧めします。

と言うのも Cygwin のパッケージ群はそれなりにファイル数もサイズもあるので、とりあえずダウンロードしてから後で選択してインストールする方が精神的に楽です。

この場合、最初のsetup.exeの起動はダウンロードして来るだけなので、それらが終わったら再度setup.exeを起動して、Install from Local Directoryを選択してインストールする必要があります。

この Download Without Installing の時は パッケージ選択で All を default から install で良いと思います。最初は恐らくどのパッケージが何に使われるとか分からないと思うので。

ただ、Install from Local Directory の時は default で良いと思います。

ツールとか

デフォルトだと DOS Prompt 経由での実行になりますが、Windows の Prompt は何かと苦痛が伴うので何らかのターミナルエミュレータをインストールすべきでしょう。個人的には現時点では TeraTerm をお勧めします。他にも Putty, Poderosa などありますが、現在の TeraTerm は実は進化していて、

  • なんちゃってタブが使える
  • Cygwin 用のランチャーも付属してる
  • もちろん文字コード周りも utf-8 にも対応済み

なので、特に不満な点は無いです。

ここら辺まで揃えたら TeraTerm で cygwin に入れば概ね Linux と似たような Perl 実行環境が得られるはずです。

後はお好みのテキストエディタを用意すればすぐにPerlプログラミングが始められます。

*1:と書かないと色々うるさい人が居そうなので強調しておくw

2007-10-13

Windows-Cygwin間のパスの相互変換

自分用メモ。

cygwin -> windows

$ cygstart /path/to

windows -> cygwin

$ cd `cygpath -u "C:\path\to"`

2007-08-17 息苦しい感

CSSTidyをCygwinから使う為のシェルスクリプト

CSSTidyとは

ググってくだしあ。。。

じゃあれなんで、簡単に説明すると、

  • CSSの圧縮してくれる
  • CSSの整形してくれる

って感じのコマンドラインツール。

多分みんな俺ルールみたいのでプロパティのソートとかしてるだろうけど、

もうそういうのは頭使わずPCに任せる方向でね。

使う前に

Cygwinでビルドできるかと試してみたんだけど、どうも無理っぽぃのでバイナリ版落としてきましょう。

当然ながらWindows用になってるんで、パスの変換が必要。

あと何故かこのツール、オプションにセミコロンが付く物があって余りにイケてない感があるので、そのところもちょっと直した。

ソース

#!/bin/sh

ARGS=""
CSSTIDY="/usr/local/bin/csstidy"

while 
  case $# in
      0)  false;;
      *)  true;;
  esac
do
    arg="$1"; 
    shift;
    case $arg in
        --allow_html_in_templates|--compress_colors|--compress_font-weight|--discard_invalid_properties|--lowercase_s|--preserve_css|--remove_bslash|--silent|--sort_properties|--sort_selectors|--timestamp|--merge_selectors|--case_properties|--optimise_shorthands|--template) 
            ARGS="$ARGS=$1"; shift
            ;;
        --remove_last_semicolon)
            ARGS="--remove_last_;=$1"; shift
            ;;
        --help)
            cat << EOF
Usage: csstidy input_filename [
 --allow_html_in_templates=[false|true] |
 --compress_colors=[true|false] |
 --compress_font-weight=[true|false] |
 --discard_invalid_properties=[false|true] |
 --lowercase_s=[false|true] |
 --preserve_css=[false|true] |
 --remove_bslash=[true|false] |
 --remove_last_semicolon=[false|true] |
 --silent=[false|true] |
 --sort_properties=[false|true] |
 --sort_selectors=[false|true] |
 --timestamp=[false|true] |
 --merge_selectors=[2|1|0] |
 --case_properties=[0|1|2] |
 --optimise_shorthands=[1|2|0] |
 --template=[default|filename|low|high|highest] |
 --help | 
 output_filename ]
EOF
            exit 0;
            ;;
        *)
            ARGS="$ARGS "`cygpath -w $arg`
            ;;
    esac
done

$CSSTIDY $ARGS

バイナリを /usr/local/bin/csstidy.exe として保存してある物と仮定。

んでこのシェルスクリプトを/usr/local/binよりも優先度の高い所にぶち込んでおけば多分OKだと思われます。

Cygwin使いはcygpathは知っといた方がいいです。

参考とか

2006-10-16 このタイミングで風邪を引くとはorz...

cygwinでscreenがインストールできない

cygwinにscreenを導入できない問題 – りばにしの戯言


同様の方がいらっしゃるようで。


で解決法も書いてあります。


Schulman . Andrew - screen


ソースだと微妙にダメだったので、バイナリで対応しました。