人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perl の split についての質問です。

my($hoge0,$hoge1,$hoge2,$hoge3,$hoge4,$hoge5) = (split/<>/,$line)[0..4];

↑この様な書き方があります。

この後に続く処理で必要なのが $hoge0 $hoge1 $hoge4 のみだった場合、これをもっと効率的に書く方法はないでしょうか?
$hoge2 $hoge3 $hoge5 が不要だという事です。

誤りなのですが、イメージとしてはこの様な感じです。

(split/<>/,$line)[0..1,4];
(split/<>/,$line)[0..1][4];

※ 頂いた回答は全てオープン致しますが、最初に正解を書いて下さった方に傾斜配分致します事をご了承下さい。

●質問者: Reiaru
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Perl イメージ オープン
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● imo758
●80ポイント ベストアンサー

普通にそれではいけませんか?

prompt%perl -e "my(@x)=(split/#/,'1#2#3#4#5#6#7')[0..1,4];print join' ',@x;

1 2 5

prompt%perl -v

This is perl, v5.8.8 built for MSWin32-x86-multi-thread

(with 25 registered patches, see perl -V for more detail)

Copyright 1987-2006, Larry Wall

Binary build 817 [257965] provided by ActiveState http://www.ActiveState.com

Built Mar 20 2006 17:54:25

以下略

◎質問者からの返答

確認してきました。


my($hoge0,$hoge1,$hoge2,$hoge3,$hoge4,$hoge5) = (split /<>/ ,$line)[0..1,4];


これで間違いなく期待通りの動作をしておりました。

一体、私は何をしていたのでしょうか(^-^;


何はともあれ回答頂きましてありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ