Potrzebuję mieć możliwość powiązania tablicy tablicowej z oryginalną tablicą w taki sposób, że wszelkie zmiany wprowadzone do oryginalnej tablicy (w tym usuwanie elementów) zostaną również wykonane w wycinku tablicy. Czy jest jakiś sposób na zrobienie tego?Jak powiązać wycinek tablicy z oryginalną tablicą, aby wszystkie zmiany wprowadzone w jednym zostały wprowadzone do obu?
Poniższy przykład nie działa jak chcę go, ale to jest po prostu nie do wykazania punkt próbuję uczynić.
Przykład:
my @array = 1 .. 10;
my @slice = @array[3 .. 8];
splice @array, 5, 2;
print "ARRAY: ";
print join ', ', @array;
print "\n";
print "SLICE: ";
print join ', ', @slice;
wyjściowa:
ARRAY: 1, 2, 3, 4, 5, 8, 9, 10
SLICE: 4, 5, 6, 7, 8, 9
Co szukam to sposób związać kawałek oryginalnej tablicy więc wyjście będzie wyglądać zamiast tego:
ARRAY: 1, 2, 3, 4, 5, 8, 9, 10
SLICE: 4, 5, 8, 9
Usunięcie 6 i 7 z oryginalnej tablicy spowoduje również usunięcie jej z wycinka tablicy.
Jak mogę osiągnąć coś takiego?
Czy możesz wyjaśnić, dlaczego chcesz to zrobić? – ThisSuitIsBlackNot
Pracuję nad skryptem, który obsługuje hierarchiczną strukturę bazy danych i chcę, aby każdy rekord zawierał tablicę rekordów podrzędnych. Jeśli jeden z rekordów przywoływanych na liście rekordów podrzędnych zostanie usunięty z całej bazy danych, chcę, aby tablica rekordów podrzędnych była automatycznie aktualizowana w celu usunięcia rekordu. – tjwrona1992
Zasadniczo baza danych zawiera dużą tablicę wszystkich rekordów, a tablica rekordów podrzędnych byłaby fragmentem wielkiej tablicy. Jeśli rekord zostanie usunięty z dużej tablicy, chcę go usunąć z wszelkich plasterków, do których się odwołuje. – tjwrona1992