This domain may be for sale!
$0の使用例 [例: test.pl] #!/usr/bin/perl print "$0\n"; [実行結果] [testuser@server testuser]$ ./test.pl ./test.pl [testuser@server testuser]$ /home/testuser/test.pl /home/testuser/test.pl [例 argv.pl] #!/usr/bin/perl print @ARGV"; [実行結果] [testuser@server testuser]$ ./argv.pl a b c d e a b c d e « Digest::SHA | | XML::RSS::Parser »
Perlの食えない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字
Perlの食えない事情 Perlの食えない事情 @author: KaPoKoN Perlは初心者おすすめの言語ではない 奇妙な演算子の数々 奇妙な宣言文の数々 最後に・・・ これを書くに至った経緯は、Perl言語の創始者が本来のPerlの使用目的とは 遠く離れた言語になってしまった背景。 自分がC、PHP、Java、VBとたんたんとやってきた中で、 これほど奇怪な仕様の言語に巡り合ったのは初めてであるという事だ。 そして、パール信者は叫んでたまらない。 パールisGOD!パールisキング!・・・と。 確かに今までのウェブは、そのように進んでしまったという事実があるが、 パールは本来はウェブアプリケーションのサーバー処理をするために書かれた言語ではない。 UNIX上でデータを扱う為に作り出された言語であり、 UNIXそのものがサーバーとして作られたOSであるがゆえ、 ウェブでユーザーからの
配列をランダムに並び替える。かっこいいスクリプト Perlで配列をランダムな順番に並び替えるスクリプトを書いてベンチマーク取ってみた。 環境はActivePerl 5.8 スクリプトは #!/usr/bin/perl use strict; use Benchmark; my @array=qw(a b c d e f g h i j k l m n); Benchmark::timethese(50000, { use_sort=>\&use_sort, use_foreach=>\&use_foreach, }); sub use_sort{ my @new= map {$array[$_->[0]]} sort {$a->[1] <=> $b->[1]} map {[$_,rand(1)]} 0..$#array; } sub use_foreach{ my @new = (); f
2009年09月02日 13時15分13秒 「読む例は~?」のツッコミがメールで今頃入ったのでどうかと思ったけど記述。 s2.pl ## バイナリファイルを読み込んで16進数の文字列で書き出すサンプル binmode(STDIN); $cnt = 0; $addr = 0; while(1==1) { printf("%08x ",$addr) if (0==$cnt) ; last if undef == read(STDIN, $code, 1); printf("%02X ", unpack("C",$code) ); $cnt++; if (16==$cnt) { print "\n"; $addr+=$cnt; $cnt=0; } } print "\n--- end\n"; 標準入出力を使うことを想定した。 16進ダンププログラム風。 突っ込み対応。長さゼロのファイルの時はアド
CPANが便利だということはわかってきたんだが、どういったモジュールを、どのように探せばいいのかは未だによくわからない。 そんな中、日付操作って面倒だと思ったときに見つけた、Date::Simpleモジュール。 怠惰な欲望に任せて検索すれば、結構便利なモジュールって見つかるのかもしれない。 プログラマーの美徳万歳 ついでにperlが再び面白くなってきたのでこんな本を注文した Perlプログラミング救命病棟 (Programmer’s foundations) 作者: ピーター・J・スコット,トップスタジオ,伊藤直也出版社/メーカー: 翔泳社発売日: 2005/09/06メディア: 大型本購入: 10人 クリック: 279回この商品を含むブログ (71件) を見る Date::Simpleモジュール 使い方メモ CPANを使わずに、直接モジュールをダウンロードして使う。 ftp://ftp.
指定したパターンに従って文字列を分割します。分割した各文字列は リストとして取得します。 パラメータ: /PATTERN/ 分割パターン文字列 EXPR 対象の文字列 LIMIT 分割の最大数 戻り値: 分割された文字列を要素とするリスト 1 番目の引数には文字列を分割するためのパターンを指定します。パターンは正規表現を使って指定します。パターンを省略した場合は 1 個以上の空白文字(スペース、タブ、改行)を表す /\s+/ を指定した場合と同じです。( Perl の正規表現については「Perlにおける正規表現」を参照されてください)。 省略可能な 2 番目の引数には対象となる文字列を指定します。省略した場合にはデフォルト変数の $_ が指定されたものとして扱われます。 省略可能な 3 番目の引数には最大分割数を指定します。分割が指定した最大数に達すると、それ以上の分割は行われません。省略
名前 JSON::XS - 正しくて高速な JSON シリアライザ/デシリアライザ JSON::XS - 正しくて高速な JSON シリアライザ/デシリアライザ (http://fleur.hio.jp/perldoc/mix/lib/JSON/XS.html) 概要 use JSON::XS; # exported functions, they croak on error # and expect/generate UTF-8 # エクスポートされる関数, これらはエラー時には # corak し, UTF-8 を期待/生成します. $utf8_encoded_json_text = encode_json $perl_hash_or_arrayref; $perl_hash_or_arrayref = decode_json $utf8_encoded_json_text; # O
なぜIE6,7(とIE8の配列)ではケツカンマが正しく動かないのか 結論からいうと、「それがJScriptの仕様である」ということになるかと思います。 後述のとおりECMAScript3の仕様書はケツカンマなしなので、IE(=Jscript)がそのような仕様になっていても間違いではないということになります。 ひとつだけ納得がいかないのは、IE(=Jscript)は配列ケツカンマとオブジェクトケツカンマで挙動が異なるのです。 var list = ['a' , 'b', ]; // → 要素3個のarrayが生成される。 var obj = { a : 1, b : 2, }; // → 文法エラー この仕様はなんか中途半端な気がします。 ECMAScriptの仕様はどうなっているのか ECMAScript3 Standard ECMA-262 3rd Edition-December199
use strict; use warnings; my @list = qw(apple mango orange); my $item = 'orange'; if (in_array($item, @list)) { print "yes\n"; } else { print "no\n"; } sub in_array { my $item = shift; my @list = @_; for (@list) { return 1 if $_ eq $item; } return 0; } # 実行結果:'yes' 判定文を1行で書くこともできます。↓ use strict; use warnings; my @list = qw(apple mango orange); my $item = 'orange'; if (grep {$_ eq $item} @list) { p
複数のファイルを扱うとき、ファイルハンドルを配列やハッシュに入れて使いたい場合がある。 その場合は型グロブ表記法(ファイルハンドルの頭にに*をつけたもの)なるものを使えばよい。 例えば @A=(*F1,*F2); @B=('1','2"); foreach $b(@B){ open($A[$b],">$b.txt") or die $!; print {$A[$b]} "$b\n"; close($A[$b]); } これでファイル名"1.txt"と"2.txt"、中にそれぞれ"1","2"が書かれたファイルが作成される。
日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。
Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers Time::HiRes - 高精度のalarm, sleep, gettimeofday, インターバル・タイマー 概要¶ use Time::HiRes qw( usleep ualarm gettimeofday tv_interval ); usleep ($microseconds); ualarm ($microseconds); ualarm ($microseconds, $interval_microseconds); $t0 = [gettimeofday]; ($seconds, $microseconds) = gettimeofday; $elapsed = tv_interval ( $t0, [$seconds, $
2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基本中の基本 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl
名前 perlembed - C プログラムに perl を埋め込む 説明 前書き あなたの欲しいのはどれ? Perl から C を使う perlxstut, perlxs, h2xs, perlguts, perlapi を読みましょう. Perl から Unix プログラムを使う バッククオート及び perlfunc にある system と exec を読みましょう. Perl から Perl を使う "do" in perlfunc 及び "eval" in perlfunc, "require" in perlfunc, "use" in perlfunc を読みましょう. C から C を使う 構成を考え直してみましょう. "><C から Perl を使う> このままどうぞ... 道のり C プログラムのコンパイル C プログラムに Perl インタプリタを追加 C プログラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く