ahh...  #line   that's it!

$. wouldn't work for me becuase the filehandle is long since
closed by the time I do the eval(), so it will come back 0

I'll have to prepend #line to the eval string
and figure out the line number to put there,
but that'll make these scripts I'm dealing with a whole lot
easier to use.

Thanks everyone!
Greg



On Fri, October 25, 2019 2:27 pm, Andrew Langmead wrote:
> Perl borrows the C preprocessors "#file" and "#line" directives to change
>  the file name and line number reported.
>
>
> andrew@localhost:~$ perl -e 'use warnings; return'
> Can't return outside a subroutine at -e line 1.
> andrew@localhost:~$ perl -e '#line 266' -e 'use warnings; return'
> Can't return outside a subroutine at -e line 266.
> andrew@localhost:~$
>
>
> If you have the perl script embedded in a larger file for some reason
> (like
> the way one might embed a Windows script might be embedded in a .CMD file
> to be executable) it is often helpful to set the line number, as Perl
> starts counting line numbers from the "#!/usr/bin/perl" line.
>
> Keep in mind that #line directives specifies what perl should report as
> the next line's line number. (so "#line 8" will be on line 7, which will
> confuse someone who doesn't understand the line directives and thinks it
> is an odd comment in the code.)
>
>
>
> On Fri, Oct 25, 2019 at 12:27 PM Uri Guttman <u...@stemsystems.com> wrote:
>
>
>> On 10/25/19 12:22 PM, Uri Guttman wrote:
>>
>>> my understanding (to be corrected by greg) is that an error in evaled
>>>  perl code reports the line number in that code. he wants the line
>>> number of the eval call itself. he can use __LINE__ to get that when
>>> he checks the eval for any errors in the slurped in code.
>>
>> another idea:
>>
>> use carp to report the error (or one of the carp subs). check the eval
>> for an error and carp $@. it should report the current line number of
>> the eval.
>>
>> uri
>>
>> _______________________________________________
>> Boston-pm mailing list
>> Boston-pm@pm.org
>> https://mail.pm.org/mailman/listinfo/boston-pm
>>
>>
>
> _______________________________________________
> Boston-pm mailing list
> Boston-pm@pm.org
> https://mail.pm.org/mailman/listinfo/boston-pm
>
>


-- 

_______________________________________________
Boston-pm mailing list
Boston-pm@pm.org
https://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to