On Tue, 20 Aug 2002 11:12:31 +0200 (MEST), Louis Pouzin wrote:

>When debugging scripts it'd be nice to:
>       print $LN, $somedata;
>where $LN is the line number of the print statement.
>
>There doesn't seem to be a special variable for the line number. Or is there an other 
>trick ?

I know of two (or three).

First is the __LINE__ "macro". You should make sure perl doesn't mistake
it for a filehandle, for example using

        print +__LINE__, " This is my data\n";


Second is to call a sub, which, through caller(), can determine which
line it's been called from.

        sub ln {
            return join " ", (caller)[1, 2];
        }

        print ln, " this is line 8";
-->
        test.pl 8 this is line 8


Or 3: just use warn() instead of print.   ;-)

-- 
        Bart.

Reply via email to