Skip to content

Instantly share code, notes, and snippets.

@kentatogashi
Last active December 30, 2015 05:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kentatogashi/7781054 to your computer and use it in GitHub Desktop.
Save kentatogashi/7781054 to your computer and use it in GitHub Desktop.

###本日の内容

  • Perlの環境設定
  • tmuxのインストール
  • ドットインストールでPerl入門
  • Vimの操作とプラグインとか。

①PerlbrewでPerlの5.8.9にする。

下記、よく分からないまま、設定完了。

sudo cpan App::perlbrew
fetch -o- http://install.perlbrew.pl | sh
perlbrew init

# 一旦、.bash_profileをつくり、下記2行追加してsourceする。
export PERLBREW_HOME=~/local/script/.perlbrew
source ~/local/script/perl5/perlbrew/etc/bashrc

perlbrew init
cd /home/vagrant/local/script/perl5/perlbrew/build/perl-5.8.9; make install
perlbrew switch perl-5.8.9

②tmuxのインストール

cd /usr/ports/sysutils/tmux/
sudo make install clean

③ドットインストールでPerl入門

#01Perlとはなにか?

5.8系が今ホスティング系では使われている。

#02はじめてのPerlプログラム
#文法チェック    
use strict;
use warnings;

print("hello world2\n");
#03スカラー変数を使ってみよう
my $msg;
$msg = "hello world\n";
print($msg);
#04 数値を扱ってみよう

演算子、インクリメント、デクリメント等はPHPと同じ。

#05 文字列を扱ってみよう

ダブルクオテーション:特殊文字が展開される。

シングルクオテーション:特殊文字が解釈されない。

文字結合には .

#06 配列変数を使ってみよう (1)
#配列変数 @
my @sales = (100,200,300);
my @colors = ("red","green");

#qw関数が便利。
my @qw = qw(red green 1);
#07 配列変数を使ってみよう (2)
#配列の中から特定の値を取り出す
#スカラー値だから、ダラーをつける。変数の型(スカラー、配列、ハッシュ等)によってプレフが異なるのはPHPと違うところ。
$sales[0];
#一部切り出し、ただしその場合配列なので頭は@のまま。
@sales[0..1];
#08 ハッシュ変数を使ってみよう
# ハッシュ値は%から、{"key" => "value"}{}はpythonだけど、 =>はphpで使うからややこしい。 
%Mr = {"sex" => "man","age" => 22};
#09 条件分岐をしてみよう (1)

PHPと同じ、省略。

#10 条件分岐をしてみよう (2)
if ("A" eq "B")
基本等号分岐だけ使う。
# eq(equal) ne(not equal) だけ覚えておけばとりあえずいいかと。
#11 さらに条件分岐をしてみよう
#else ifではなく
elsifを使う。
#12 if文の別の書き方について
#if分の後置
print("ok") if ("hoge" eq "hoge");
#三項演算子はPHPと同じ
#13 繰り返し処理をしてみよう
#forの最初の引数は初期化のmyが必要。
for(my $i = 0; $i < 10; $i++) {
print $i."\n";
}
#14 配列のループ処理をしてみよう
my @p = qw(red blue green);

# 初期化してから...
foreach my $color (@p) {
print $color."\n";
}

for my $color (@p) {
print $color."\n";
}

# $_に配列の値がひとつずつ入っていく。表示結果は上記と同じ。
for (@p){
print $_."\n";
}
#15 ハッシュのループ処理をしてみよう
my %pp = ("age" => 22, "sex" => "man", "weight" => "65kg");
foreach my $key (keys(%pp)) {
print "$key is $pp{$key}";
}

#なぜ、$pp{$key} になるのか曖昧、直感だとどうしても%pp{$key}の感覚  
#16 ファイルを扱ってみよう
#open and read file

open(my $in,"<","hogehoge.txt");

while(my $line = <$in>) {
print $line;
}

close($in);
#17 正規表現を使ってみよう
#上記の続き
# 5を含む行を探して、表示
#他のパターンもPerlに限らず、復習しておく必要あり。
if($_ =~ /5+/) {
print $_;
}
#18 サブルーチンを作ってみよう

19と合わせているので(省略)

#19 サブルーチンを改良してみよう
#適当な数の引数の合計を表示する。
use strict;
use warnings;

sub plus_limitless {
my $result = 0;
for (@_) {
$result = $result + $_;
}
$result;
}

print plus_limitless(1,2);
# => 3
print plus_limitless(1,2,3,4,5,6,7,8,9,10);
# => 55

#$_,@_の表記はまだまだ曖昧、だんだん慣れていきます。

#####Vimに関して

  • コマンド

ファイルエクスプローラを開く、すごい便利。#:tabnew、gtしながら使えばはかどる。

:e .
  • quick-run vim

インストールは下記.vimrcに記述して、

NeoBundle 'thinca/vim-quickrun'

:NeoBundleInstallするだけ。

操作方法はノーマルモードで\とrを押す。

実行画面が分割して表示される。

画面移動(Ctrl + w + p)して:qすれば元の画面にもどれる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment