#!/usr/bin/perl use strict; use warnings; package UglyTie; use Data::Dumper; sub TIESCALAR { my $class = shift; bless [ @_ ], $class; } sub STORE { warn Dumper @_; } sub FETCH { warn Dumper @_; 1; } package main; sub lv : lvalue { tie my $response, 'UglyTie', @_; $response; } lv( "foobarbazquux" x 2, 10, 5 ) =~ /whatever/;