Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Variation on a Shifting themes

by mwp (Hermit)
on Aug 08, 2000 at 11:20 UTC ( #26745=poem: print w/replies, xml ) Need Help??

The fading ties
Variation on a Shifting themes

#--------------------------# our @emotion = qw( love shame hurt blame ); our @devotion = qw( ropes pain locks chains ); tie $me, 'Up', \@emotion; tie $you, 'Down', \@devotion; tie $us, 'Together', [\($me, $you)]; package Together; sub TIESCALAR { our($heart,$soul) = @_; return bless $soul, $heart } sub FETCH { return ${ shift @{ +shift } } } package Up; sub TIESCALAR { our($heart,$emotion) = @_; return bless $emotion, $heart } sub FETCH { return shift @{ +shift } } package Down; sub TIESCALAR { our($soul,$devotion) = @_; return bless $devotion, $soul } sub FETCH { return shift @{ +shift } } #--------------------------# package main; print <<FADE; even $you are not able to keep $me away because for $us, there is but one cure it comes not from $me and not from $you but if $you fall away will I still be bound by $us? FADE

Author's Note:

There are three poems here. First, the actual Perl code itself is to be read as a poem. It integrates well with the bottom half, but there is a sharp transition in which the message takes a turn for the bitter. The second poem is the FADE print block, in which a negatively-connoted love letter is conveyed. The third poem takes the first two and outputs the sum, being a positively-connoted love letter. Originally, a fourth poem was woven around the first two via comment blocks. I removed it because three is enough!

This is a variation of the proposed changes (via an implementation of tie) to Shifting themes by osfameron. Otherwise, this entire work is original, albeit a tad redundant. :-)


Replies are listed 'Best First'.
RE: Variation on a Shifting themes
by Adam (Vicar) on Aug 28, 2000 at 22:10 UTC
    This is really cool.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: poem [id://26745]
Approved by root
choroba's discovered two instances of a weird animal in the code at work: \@$var
[Eily]: hum, tied scalar, generates a new array when derefed ? :D
[Corion]: choroba: Ah, when doing a shallow copy, I prefer [ @$var ] - I think \@$var might return the same reference instead of a reference to a fresh copy
[Corion]: perl -wle "my $ar = [1,2,3]; my $br=\@$ar; print qq($ar / $br)" confirms this to me
[karlgoethebier]: "discovered" this to sum an array: perl -E 'say scalar map {1 .. $_} (1..3);'
[Corion]: karlgoethebier: Hahaha :)

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (10)
As of 2017-09-26 08:47 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (293 votes). Check out past polls.