Macierz z pliku Perl

0

Witam. Byłbym niezmiernie wdzięczny, jeśli ktoś mógłby mi wskazać błąd w moim kodzie. Skrypt ma za zadanie wyświetlić macierze z plików w formie tablic dwuwymiarowych a następnie liczyć ich sumę. Otrzymuję taki komunikat o błędzie "Can't use string ("1 2 1 0 5 6
") as an ARRAY ref while "strict refs" in use at ./zad2.pl line 9."

.  
#!/usr/bin/perl
use warnings;
use strict;
open(MACIERZ1, "macierz1") or die "Nie można otworzyć pliku$!";
my @tablica1=<MACIERZ1>;
close(MACIERZ1);
for my $i(0..3)
  {
  for my $j(0..3){print $tablica1[$i][$j], " ";}
  print "\n";
  }
  open(MACIERZ2, "macierz2") or die "Nie można otworzyć pliku$!";
my @tablica2=<MACIERZ2>;
close(MACIERZ2);
for my $i(0..3)
  {
  for my $j(0..3){print $tablica2[$i][$j], " ";}
  print "\n";
  }

 
0

Jak wczytujesz do tablicy te dane z zewnętrznego pliku tekstowego np takiego:

1 2 3
3 4 5
4 5 6 

to elementami tej tablicy są kolejne wiersze pliku (string). Aktualnie w linii 9 (do której odnosi się komunikat błędu) masz coś takiego:

$tablica1[0] = "1 2 3"
$tablica1[1] = "3 4 5"
$tablica1[2] = "4 5 6"

Żeby dostać z tego tablicę 2 wymiarową, musisz wcześniej w pętli "pociąć" te elementy ($tablica1[0], $tablica1[1], itd) np funkcją split, na poszczególne komórki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1