# Example overview of memory leaks and circular references in Perl
use strict;
use warnings;
use Scalar::Util qw(weaken);
my $obj1 = {};
my $obj2 = {};
# Create circular references
$obj1->{ref} = $obj2;
$obj2->{ref} = $obj1;
# Weakening reference to avoid circular reference leading to memory leak
weaken($obj2->{ref});
# Displaying the contents
print "obj1 reference: ", $obj1->{ref} ? 'Exists' : 'Does not exist', "\n";
print "obj2 reference: ", $obj2->{ref} ? 'Exists' : 'Does not exist', "\n";
# Unicode interaction example
my $unicode_str = "Hello, 世界"; # String containing Unicode characters
print "Unicode string: $unicode_str\n";
# Encode and decode example
use Encode qw(encode decode);
my $encoded_str = encode('UTF-8', $unicode_str);
my $decoded_str = decode('UTF-8', $encoded_str);
print "Encoded string: $encoded_str\n";
print "Decoded string: $decoded_str\n";
How do I avoid rehashing overhead with std::set in multithreaded code?
How do I find elements with custom comparators with std::set for embedded targets?
How do I erase elements while iterating with std::set for embedded targets?
How do I provide stable iteration order with std::unordered_map for large datasets?
How do I reserve capacity ahead of time with std::unordered_map for large datasets?
How do I erase elements while iterating with std::unordered_map in multithreaded code?
How do I provide stable iteration order with std::map for embedded targets?
How do I provide stable iteration order with std::map in multithreaded code?
How do I avoid rehashing overhead with std::map in performance-sensitive code?
How do I merge two containers efficiently with std::map for embedded targets?