#!/usr/bin/env perl use v5.38; use strict; use warnings; package vincentaxhe; sub TIESCALAR { bless \my $self, shift } sub STORE { ${ $_[0] } = $_[1] } # remember the postfix string sub FETCH { "@{\@main::a} " . ${ my $self = shift } }; package main; our @a; tie my $proto2, 'vincentaxhe'; $proto2 = '3 4'; @a = (1, 2); print $proto2, "\n"; # prints 1 2 3 4 @a = (22, 23, 24); print $proto2, "\n"; # prints 22 23 24 3 4 $proto2 = 'Hello World'; print $proto2, "\n"; # prints 22 23 24 Hello World