perl環境構築メモ

perlでの環境構築を行った際のメモです。

perlのバージョンを簡単に変更できるとのことだったので、perlbrewを使ったインストールを行いました。

cpanモジュールの管理に関してはcpanmを利用しています。

perlbrewのインストール

perlbrewのダウンロードとインストール

curl -LO http://xrl.us/perlbrew --insecure
chmod +x perlbrew
perlbrew install


bashrcに設定追加(設定ファイルは利用されているシェルに合わせて変更してください)

vi ~/.bashrc

source ~/perl5/perlbrew/etc/bashrc


設定再読込

source ~/.bashrc
perlのインストール

参考サイトに載っていたものと同じく、バージョン5.12.3を使うことにしました

perlbrew -v install perl-5.12.3 -D ccflags=-fPIC
perlbrew switch perl-5.12.3
perl --version
    This is perl 5, version 12, subversion 3 (v5.12.3) built for x86_64-linux
cpanmのインストール

CPANモジュールのインストールが手軽に行えるということだったのでこちらも合わせてインストール

mkdir ~/bin && cd ~/bin
curl -LO http://xrl.us/cpanm --insecure
chmod +x cpanm


bashrcに環境変数を追加

vi ~/.bashrc

PATH=$PATH:$HOME/bin
export PATH


設定再読込

source .bashrc


cpanm自身のupgrade

cpanm --self-upgrade


その後、cpanmでモジュールをインストールしてみたものの、うまく読み込みができず。。。

PERL5LIB等の環境変数を設定していなかったためにうまく読み込めなかったようです。

最終的なperl関連のPATH設定は以下のようになりました。

vi ~/.bashrc

export PATH=$HOME/bin:$HOME/perl5/bin:$PATH
export PERL_CPANM_OPT="--local-lib=~/perl5"
export PERL5LIB=$HOME/perl5/lib/perl5/x86_64-linux-thread-multi:$HOME/perl5/lib/perl5:$PERL5LIB
source ~/perl5/perlbrew/etc/bashrc

環境変数の設定に時間がかかってしまいましたが、これでperlの開発環境が整いました。


これからはperl中心に勉強していきます。

vimでperlのテンプレートを使う

最近、perlを使い始めて勉強中なのですが、コードを書く際に毎回、

#usr/bin/perl
use strict;
use warnings;

と入力するのが面倒だったので、「いい方法ないかなー」と思って調べていたところ、まさにピッタリの記事があったので参考にさせて頂きました。

DOMAIN ERROR

テンプレートの作り方

mkdir ~/.vim/template
  • perl用テンプレート作成
vi ~/.vim/template/perl.txt
以下を記述
#usr/bin/perl
use strict;
use warnings;
  • テンプレート呼出設定をvimrcに記述
vi ~/.vimrc

autocmd BufNewFile *.pl 0r $HOME/.vim/template/perl.txt

これで.plのファイルを新規作成する際に、設定したテンプレートが呼び出されるようになります。

MySQL Daemon failed to start

ローカル環境の仮想マシンを再起動したら、

MySQL Daemon failed to start.

と表示され、MySQLが起動できなくなってしまいました。


再起動してもずっとエラーが出るので

tail /var/log/mysqld.log

でログを見てみたところ、以下のエラーが

[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
[ERROR] Aborting


MySQL5.5からはmy.confに記述する文字コードの設定方法が変わったようですね。

default-character-set=utf8

と書いていたところを

character-set-server=utf8

に書き換えてMySQL再起動


これでうまく起動できました。


そもそもの原因は、 最近MySQL5.5にアップデートした際に、5.1で使っていた設定をコピーしたからでした。


コピー後にMySQLを再起動し忘れていたため、今になってエラーが出たようです。


ログの確認は大事ですね。


よく分からないからとりあえず再インストール。ではなく、まずはログの確認を心がけます。


参考サイト
/usr/libexec/mysqld: unknown variable ‘default-character-set=utf8′

DBのバックアップ方法

忘れやすいのでメモ

dbをまるごとバックアップしたい場合

mysqldump -uUserName -p DBName > dump.sql


テーブル構造のみをバックアップしたい場合、-dオプションを付ける

mysqldump -d -uUserName -p DBName > dump.sql


データのみをバックアップしたい場合、-tオプションを付ける

mysqldump -d -uUserName -p DBName > dump.sql

現在のページのURLを取得する

jQueryを使って、現在のURLがある条件を満たしていたら処理を実行したい場合、以下のように記述

例:URLの最後がeditにマッチする場合

    if ($(location).attr('href').match(/\/m_npc\/\d+\/edit$/)) {
        // ajaxでデータ取得
        $.getJSON(~~~URL~~~, function(data){
           console.log(data);
        });
    }

jQueryで現在のページのURLを取得する

チーム開発では可変変数は使わないように

PHP以外の言語をよく知っている人にとって、可変変数の存在はコードを読む上で違和感を感じる部分らしい


可変変数は便利だけど、チーム開発においては可変変数を用いるよりも読みやすいコードを書くことに重点をおいた方がいい

l
ずっと読みかけのままにになってた『パーフェクトPHP」も読みすすめないと。