配列のデータ値が正しく印刷されない

vkk05

生徒のマークを集めて、上で得点したものを印刷するスクリプトを書きました50

スクリプトは以下のとおりです。

#!/usr/bin/perl
use strict;
use warnings;

use Data::Dumper;

my @array = (
'STUDENT1,90
STUDENT2,40
STUDENT3,30
STUDENT4,30
');

print Dumper(\@array);

my $class = "3";

foreach my $each_value (@array) {
    print "EACH: $each_value\n";

    my ($name, $score ) = split (/,/, $each_value);

    if ($score lt 50) {
        next;
    } else {
        print "$name, \"GOOD SCORE\", $score, $class";
    }
}

ここでは、STUDENT1のスコアが50より大きいため、STUDENT1のデータを印刷したいと思いました。したがって、出力は次のようになります。

STUDENT1, "GOOD SCORE", 90, 3

しかし、その印刷出力は次のようになります。

STUDENT1, "GOOD SCORE", 90
STUDENT2, 3

ここでいくつかの操作が発生し、その間90 STUDENT2に破棄して分離します。

配列に単一の要素があるため、改行文字でデータを分割していなかったことがわかり@arrayます。

配列内の要素を新しい行に分割して、forループ内でコンマ(,)を使用して再度分割し、値を$nameとに設定するにはどうすればよいですか$score

実際に@arrayは、このスクリプトの引数として来ています。したがって、正しい値を解析するには、このスクリプトを変更する必要があります。

スティッキービット

すでにご存知のように、「配列」には実際のレコードを含む文字列を含む「要素」が1つしかないため、本質的には配列よりもスカラーです。

ご想像のとおり、このスカラーは、改行をコンマではなく区切り文字として使用した場合と同じように分割できます。次にforeach、の結果を回避しsplit()て、レコードを反復処理できます。

#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

my $records = 'STUDENT1,90
STUDENT2,40
STUDENT3,30
STUDENT4,30
';

my $class = "3";

foreach my $record (split("\n", $records)) {
  my ($name, $score) = split(',', $record);

  if ($score >= 50) {
    print("$name, \"GOOD SCORE\", $score, $class\n");
  }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列が正しく印刷されないのはなぜですか?

分類Dev

別のオブジェクトの配列が正しく印刷されない

分類Dev

2D配列が正しく印刷されない

分類Dev

2D配列が正しく印刷されない

分類Dev

foreachループへの配列値が正しく表示されない

分類Dev

PHP配列の値は正しいが、正しく表示されない

分類Dev

2DチェッカーボードのJava配列が正しく印刷されない

分類Dev

GoogleChart-PHPのデータ配列形式が正しくない

分類Dev

Ruby のキーと値のペアが正しく印刷されない

分類Dev

負の値が正しく印刷されない

分類Dev

多次元のPHP配列の値が正しく表示されない

分類Dev

移行後のデータが正しく保存されない

分類Dev

バイト配列がファイルに正しく印刷されない

分類Dev

チェックボックスの値がWordPressメタ配列に正しく保存されない

分類Dev

ネストされた配列が正しいデータを返さない

分類Dev

配列の値が正しく出力されていません

分類Dev

KotlinJSONデータがRetrofitで配列リストに正しく配置されない

分類Dev

配列が正しくソートされないのはなぜですか?

分類Dev

APIXMLデータのループが配列に正しく追加されていません

分類Dev

Pythonで配列が正しくソートされない

分類Dev

HashMapが正しく印刷されない

分類Dev

行が正しく印刷されない

分類Dev

PyCrypto が正しく印刷されない

分類Dev

関数内のポインターの配列が、呼び出しで使用された配列の正しい値に表示されない

分類Dev

文字列リテラルが正しく印刷されない

分類Dev

文字列がCで正しく印刷されない

分類Dev

Unicode文字列が正しく処理(印刷/コピー)されないのはなぜですか?

分類Dev

Firebaseデータベースが正しく同期されない

分類Dev

Primefacesデータテーブルの日付が正しく表示されない

Related 関連記事

  1. 1

    配列が正しく印刷されないのはなぜですか?

  2. 2

    別のオブジェクトの配列が正しく印刷されない

  3. 3

    2D配列が正しく印刷されない

  4. 4

    2D配列が正しく印刷されない

  5. 5

    foreachループへの配列値が正しく表示されない

  6. 6

    PHP配列の値は正しいが、正しく表示されない

  7. 7

    2DチェッカーボードのJava配列が正しく印刷されない

  8. 8

    GoogleChart-PHPのデータ配列形式が正しくない

  9. 9

    Ruby のキーと値のペアが正しく印刷されない

  10. 10

    負の値が正しく印刷されない

  11. 11

    多次元のPHP配列の値が正しく表示されない

  12. 12

    移行後のデータが正しく保存されない

  13. 13

    バイト配列がファイルに正しく印刷されない

  14. 14

    チェックボックスの値がWordPressメタ配列に正しく保存されない

  15. 15

    ネストされた配列が正しいデータを返さない

  16. 16

    配列の値が正しく出力されていません

  17. 17

    KotlinJSONデータがRetrofitで配列リストに正しく配置されない

  18. 18

    配列が正しくソートされないのはなぜですか?

  19. 19

    APIXMLデータのループが配列に正しく追加されていません

  20. 20

    Pythonで配列が正しくソートされない

  21. 21

    HashMapが正しく印刷されない

  22. 22

    行が正しく印刷されない

  23. 23

    PyCrypto が正しく印刷されない

  24. 24

    関数内のポインターの配列が、呼び出しで使用された配列の正しい値に表示されない

  25. 25

    文字列リテラルが正しく印刷されない

  26. 26

    文字列がCで正しく印刷されない

  27. 27

    Unicode文字列が正しく処理(印刷/コピー)されないのはなぜですか?

  28. 28

    Firebaseデータベースが正しく同期されない

  29. 29

    Primefacesデータテーブルの日付が正しく表示されない

ホットタグ

アーカイブ