
お世話になっております。
下記要件を満たす記述をご教授頂けますでしょうか。
<概要>
アンケートデータを結合してアウトプットします。
・アンケートデータ
1~10までの項目を当てはまるものだけ回答してます。
例)Aさん:1/5/6/8
Bさん:3/4/7/8/9/10
・アウトプット形式
1~10のカラムがあり、回答された所を1とし、回答されてないものを0とする。
例)Aさん:1/0/0/0/1/1/0/1/0/0(1,5,6,8を1とし、それ以外を0とする)
Bさん:0/0/1/1/0/0/1/1/1/1(3,4,7,8,9,10を1とし、それ以外を0とする)
よろしくお願い致します。
No.4ベストアンサー
- 回答日時:
#2のスクリプトの実行でエラーになったということですが、お使いになっている
perlはどういったものでしょうか。
わたしの手元で12.1と14.1で実行してなんの問題もありませんでした。
perl -v として実行するとどういった出力がされますか?
This is perl 5, version 14, subversion 1 (v5.14.1) built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2011, Larry Wall
Binary build 1401 [294969] provided by ActiveState http://www.ActiveState.com
Built Jun 16 2011 18:54:40
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
No.3
- 回答日時:
まず、文字列 0/0/0/0/0/0/0/0/0/0 を作り、回答のあった項目を substr で1に変換しています。
use strict;
foreach my $ans ('1/5/6/8', '3/4/7/8/9/10') {
my $result = '0/0/0/0/0/0/0/0/0/0';
substr($result, ($_ - 1) * 2, 1) = 1 foreach split /\//, $ans;
print "$result\n";
}
No.2
- 回答日時:
use strict;
use warnings;
use v5.12;
while (my $line = <DATA>) {
chomp $line;
my @ary = (0) x 10;
$ary[$_-1] = 1 for split '/', $line;
say join '/', @ary;
}
__END__
1/5/6/8
3/4/7/8/9/10
この回答への補足
ご回答ありがとうございます。
実行してみましたら下記エラーが発生致しました。
syntax error at xxx.pl line xxx, near "say join"
構文エラーだと検索してわかったのですが
perlを始めたばかりのため、対応方法まではわかりませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlのリファレンスとアロー演...
-
例外処理のフローチャートの記...
-
「デバイスは PRN を初期化でき...
-
Sub Workbook_Open()でユーザー...
-
モジュールとクラスの違いって...
-
Excel VBAでリンク切れをチェッ...
-
VBA This Workbookモジュール...
-
Excel VBA 定義されたプロージ...
-
VBSがコンパイルエラーになりま...
-
Excel VBAで、ユーザーフォー...
-
system関数を使用してJava実行...
-
VBAで別モジュールへの変数の受...
-
【vba】フォームに書いてあ...
-
COBOLで、Shellを起動するには?
-
実行中のcpan processを終了さ...
-
シリアルポート制御
-
グラフのX,Y座標を取得したい
-
「Perl Command Line InterPret...
-
Excelシート内セル記述の違いに...
-
型を調べる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlでリテラル値はメモリにど...
-
Perlで書いたプログラムをC言語...
-
perl2exeの逆コンパイラはあり...
-
perlで変数をunix時間から時刻...
-
メールのデコード方法について...
-
VineLinux2.6でPerl5.6.13から ...
-
msgboxの表示
-
perlで,c言語で言うところのa...
-
perlの構文間違いについて
-
例外処理のフローチャートの記...
-
「デバイスは PRN を初期化でき...
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォーム...
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォー...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 定義されたプロージ...
-
Excel VBAでリンク切れをチェッ...
-
VBでグローバル変数を宣言するには
-
標準モジュールを削除したい。(...
おすすめ情報