#! perl use strict; use warnings; use feature qw(say state); #say 'f = ', f(), ', g = ', g(); ( f(), g() ) = ( g(), f() ); #say 'f = ', f(), ', g = ', g(); sub f : lvalue { state $f = 'first'; say 'f(', $f, ')'; return $f; } sub g : lvalue { state $g = 'second'; say 'g(', $g, ')'; return $g; } #### 12:58 >perl 1193_SoPW.pl g(second) f(first) f(first) g(second) 12:58 >