- ベストアンサー
アンケートデータの結合とアウトプット形式について
- アンケートデータを結合し、回答された項目を1とし、回答されていない項目を0とするアウトプット形式についてご教授ください。
- アンケートデータの結合方法やアウトプット形式について教えてください。
- アンケートデータをまとめてアウトプットする際に、回答された項目を1で表し、回答されていない項目を0で表す方法を教えてください。
- みんなの回答 (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.
その他の回答 (3)
- kumoz
- ベストアンサー率64% (120/185)
まず、文字列 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"; }
- sakusaker7
- ベストアンサー率62% (800/1280)
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
- Tacosan
- ベストアンサー率23% (3656/15482)
しかるべくデータが入った配列を作ってください.
補足
ご回答ありがとうございます。 申し訳ございません、例を詳細に示せば宜しいのでしょうか?
補足
ご回答ありがとうございます。 実行してみましたら下記エラーが発生致しました。 syntax error at xxx.pl line xxx, near "say join" 構文エラーだと検索してわかったのですが perlを始めたばかりのため、対応方法まではわかりませんでした。