Name
Tie::Subset - Tie an array or hash to a subset of another array or hash, respectively
Synopsis
use
Tie::Subset;
my
%hash
= (
foo
=>11,
bar
=>22,
quz
=>33 );
tie
my
%subset
,
'Tie::Subset'
, \
%hash
, [
'bar'
,
'quz'
];
# same as tie-ing to 'Tie::Subset::Hash'
my
@array
= (55,66,77,88,99);
tie
my
@subset
,
'Tie::Subset'
, \
@array
, [1,2,3];
# same as tie-ing to 'Tie::Subset::Array'
Description
This class simply delegates to Tie::Subset::Hash or Tie::Subset::Array as appropriate. Please see the documentation of those modules.
See Also
Tie::StdScalar from Tie::Scalar
Note
The module Tie::Subset::Array is primarily provided for orthogonality with Tie::Subset::Hash. The following "trick" can be used to get an array reference where the elements are aliases to the original array:
my
$subset
=
sub
{ \
@_
}->(
@array
[
@indices
] );
However, note there are differences between the behavior of this code and Tie::Subset::Array with respect to array indices that lie outside of the range of either array. For details, please see the file t/80_alias.t that is part of this module's distribution.
Author, Copyright, and License
Copyright (c) 2018-2023 Hauke Daempfling (haukex@zero-g.net).
This library is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.
For more information see the Perl Artistic License, which should have been distributed with your copy of Perl. Try the command perldoc perlartistic
or see http://perldoc.perl.org/perlartistic.html.