sub add_cr { my %source= @_; my $content; # I suppose eventually that's what you want if( $source{content} { # content is in $source{content} } elsif( my $content_ref= $source{ref}) { # content in $$content_ref } elsif( my $filename= $source{filename}) { # you get the idea?...