【環境条件】 Eclipse 4.4(ルナ) XAMPP 1.8.3 Perlは既にインストール済み CGIを使用する時は、必ずXAMPPのApachを起動する事 参照サイト→小粋空間 【CGIを作成する】 1、プロジェクト「perl_cgi」を作る 2、プロジェクト「perl_cgi」の下にファル「sample1.cgi」作る 3、ファル「sample1.cgi」をクリックしてプログラムを書く 【プログラム内容】 Shebang 行(シーバン行)←perl.exeにパスを通す(自分の環境に合わせるか、usr/bin/perlを作るか) #!usr/bin/perl print "Content-Type: text/html; charset=UTF-8\n\n"; print "<html>"; print "<head><title>サンプル</title></head>"; pri
Linuxで「perl: warning: Setting locale failed.」というエラーメッセージが表示されたので原因や解決法などについての覚え書き。 環境 ローカルホストからSSHでリモートホストにログインしている環境。 ローカル: Desktop (Ubuntu 16.04) リモート: Raspberry Pi3 Model B (Raspbian) エラーメッセージ リモートホストで perl を実行すると Perl が下記のようなエラーメッセージを吐いた。 ロケール設定を確認しなおすように警告されている。 $ perl -v perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL =
Perl › リファレンス › here Perlにはハッシュのリファレンスというデータ構造が頻繁に登場します。このページでは、リファレンスの中からハッシュのリファレンスを詳しく取り上げます。 ハッシュのリファレンスとは ハッシュのリファレンスとは、ハッシュに対するリファレンスのことです。リファレンスというのは、指すということを表します。ハッシュに対して、リファレンス生成子「\」を使用すると、ハッシュのリファレンスを作成することができます。 # ハッシュのリファレンスを作成 my %score = (math => 68, english => 90); my $score_ref = \%score; ハッシュのリファレンスは、スカラ変数に代入されるとういうことに注意してください。 ハッシュのリファレンスのイメージを以下に書いてみます。 # イメージ %score $score_ref
CentOS6系の場合、Perlのバージョンは5.10系がインストールされており、5.8系をインストールする場合は、ソースからコンパイルする必要があります。 ソースは、こちらのIndex of /APCのページからダウンロードが可能です。 尚、5.8系の場合は下記のコマンドになります。 rsync -avz rsync://perl5.git.perl.org/APC/perl-5.8.x . configureは下記のようになります。 ./Configure -de -Accflags='-fPIC' -Dprefix=/usr/local/perl-5.8 今回は、mod_perlのインストールを考えているので、下記のオプションを追加します。 -de -Accflags='-fPIC' このオプションを付与しないと、mod_perlのmake時にエラーが発生します。 その後、下記のコマ
SPVMでJITの実装を進めているだけれど、バージョン1.0に向けて、どうしても実装しておかないといけない機能がある。 それは、バイトコードのループの途中で、ループの回数が増えた時に、ループの途中でJITのコードをコンパイルして、そのまま処理を移し替えるオンスタックリプレイスメントだ。 JavaのHot Spotはもうとっくの昔に、実装している。 オンスタックリプレイスメントがないとどうなる もしループ処理が初回に1億回、回って終わるまで待つとしたら、それが終わるまでJITできない。サブルーチンが1万回実行したら、JITしようという実装は、ループに対応ができない。 だから、ループの途中で、バイトコードからJITでコンパイルされた機械語に切り替える処理が必要になる。 実装方法は、今考えている。 関数はデータ領域と処理からなる プログラムというのは、関数の集まりだ。関数というのは、「引数やロー
Perl入学式というものがあります。 www.perl-entrance.org perlの勉強会なのですが、その名の通り入門レベルの初心者から大歓迎な勉強会です。 遡ること数年前 昔々、具体的には4年か5年ほどの昔あるところに所謂IT系の会社に入社した男がおりました。 もちろん私のことなんですけど。 男はプログラミングの経験はあったものの、業務で使うことになったperlは初めて触るものでした。 あるとき同僚から、perl入学式っていう勉強会があるよ、と聞きました。 ところが、そういった環境に身を置いていたわけではない私は、勉強会ってなんじゃそら? という状態でした。 初めての参加 おっかなびっくりしつつ、同僚と一緒にPerl入学式に参加しました。たしか2014年度のやつだったと思います。 そこで初めてそういう文化に触れました。怖かったけど新鮮でした。懇親会もビビりながら参加しました。 そ
この記事はPerl入学式 Advent Calendar 2017 17日目の記事です。 qiita.com 昨日(2018/02/03)に開催した「Perl入学式 in 東京 第3回」で配列操作とハッシュ変数、ハッシュの操作についての講師を担当しました。 教えることで学びを得られる、と言うのは本当のことで、理解の浅い部分があるなぁ、と思うことしきりです。 また、かつて自分が初学者だった時に早めに気づくことができれば・・・!ってことを思い出したりしました。今日はその、かつての「Perlの配列とかハッシュとかよう分からん」と言っていた自分向けのエントリです。 要約すると、配列もハッシュも、ようは一つの値の集まりなんよ!お前が表示したり変更したり追加したかったのは一つの値なんだから$つかえ!、ということをしつこく書いただけのエントリです。 $で始まるスカラー変数 Perlには一つの値しか代入で
Perl › 演算子 › here バッククォート演算子を使うと、別のプロセスを実行し、プロセスが生成した標準出力を取得することができます。 # バッククォート演算子 my $output = `$cmd`; system関数とかなりよく似ていますね。system関数が戻り値として、終了ステータスを返すのに対して、バッククォート演算子は、プロセスの標準出力を返します。 lsコマンドを実行する バッククォート演算子のひとつの例としてカレントディレクトリの内容を表示するLinuxのlsコマンドを実行してみます。 my $output = `ls`; $outputには、カレントディレクトリの一覧が表示されます。 a.pl gperl module-starter.txt not_important_project ringowiki static-perl.tar batch Image-PN
昔のメモを見返してたらperlのsystem関数で実行した外部コマンドのリターンコードをうまく取得できずにハマったことが書いてあるのを見つけた。新卒2年目でperlって何?美味しいの??状態であったのが思い出される。 ハマったポイントは、リターンコードを取得してそのまま利用してたら256とか返ってきて「エッ」ってなった点。当時はsshでコマンド投げて、コマンドの実行ステータスを取ろうとしてsshのリターンコードに256ってあったっけとか思いながらmanページを小一時間眺めてた。 system関数について 参考情報:perldocの日本語訳サイトから http://perldoc.jp/func/system 上記の説明にも、 返り値は、wait が返すプログラムの exit 状態です。実際の exit 値を得るには 右に 8 ビットシフトしてください とある。 このことがどういうことか理解
クラベスいち、クセがすごいエンジニアの佐藤。 手ぶらで出社。 PC 操作はカーソルを使わず、ターミナル。 面倒なことは大嫌い。楽をするためにコードを書くんだ!という、エンジニアの中のエンジニア。 昨年 6 月に入社してから、エンジニアの中心メンバーとして活躍している佐藤に、これまでの経験やこれからやりたいことを聞いてみました! 前職での経験を教えてください。 動画広告のプラットフォーム開発 Perl歴は10年の大ベテラン 前職は、動画広告配信をしている会社でエンジニアをしていました。 最初は、ソーシャルゲームもつくっていたので、クイズゲームのアプリ保守とサーバー構築を1年間していました。 ユーザー一覧や課金状況を確認できるような管理画面もつくりましたよ。 その後は、動画広告プラットフォームの構築、運用保守を4年くらい担当していました。 動画の広告配信をざっくりいうと、 ①管理画面で動画と配
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く