• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変換について)

アンケートデータの結合とアウトプット形式について

このQ&Aのポイント
  • アンケートデータを結合し、回答された項目を1とし、回答されていない項目を0とするアウトプット形式についてご教授ください。
  • アンケートデータの結合方法やアウトプット形式について教えてください。
  • アンケートデータをまとめてアウトプットする際に、回答された項目を1で表し、回答されていない項目を0で表す方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答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.

その他の回答 (3)

  • kumoz
  • ベストアンサー率64% (120/185)
回答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"; }

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答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

kotachata
質問者

補足

ご回答ありがとうございます。 実行してみましたら下記エラーが発生致しました。 syntax error at xxx.pl line xxx, near "say join" 構文エラーだと検索してわかったのですが perlを始めたばかりのため、対応方法まではわかりませんでした。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

しかるべくデータが入った配列を作ってください.

kotachata
質問者

補足

ご回答ありがとうございます。 申し訳ございません、例を詳細に示せば宜しいのでしょうか?