in reply to Is there a better way to use the line number in a quoted string than __LINE__?

Are you trying to reinvent warn ?

>    #print "Line [ @{[__LINE__}] is a syntax error\n";

Because you are closing the parens in the wrong order.

Otherwise it works.

> Is there a better way to include the __LINE__ information without all this fanning-about?

Out of the box, no.

But if you use this very often consider a subroutine which builds the string. Using caller inside that routine would give you the line number.

Otherwise if it really needs to be a variable I'd suggest Tie::Hash to make "$caller{line}" return what you want. Alternatively "$LINE" with Tie::Scalar . °

Similarly for package and file

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

°) like shown by Haukex++ in the meantime.