Steve Bertrand wrote:
John W. Krahn wrote:
John Plum wrote:

#---Assemble/concatenate references in both ascii and html, to make
full confirmatory message bodies with order details---

$scalar_sig = "\printFile($signature)";
You can not call a subroutine from inside a string.  Just the $signature
variable and the backslash get interpolated.

Not to take away from any of the great feedback you supplied to the OP,
or to be ignorant or argumentative in any way, but I recently found it
handy to use something similar to this ( personally ) unrecommended and
noisy piece of syntax to extract the result of a function within quotes:

#!/usr/bin/perl

use warnings;
use strict;

my $string = "d'oh";

my $return_from_sub_in_quotes = "${\( marine( $string ) )}";

As described in:

perldoc -q "How do I expand function calls in a string"

The problem with that particular idiom is that although it *looks* like a scalar the function is called in *list* context.

$ perl -le' sub context { defined wantarray ? wantarray ? "LIST" : "SCALAR" : "VOID"
    }
print "${ \( context ) } : ${ \( scalar context ) } : @{ [ context ] } : ", context, " : " . context . "";
'
LIST : SCALAR : LIST : LIST : SCALAR



John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to