in reply to At which line number did the print statement occure?
That should suffice to recreate what warn does.($package, $filename, $line) = caller;
You can get lots more of info back, if you use a parameter to caller:
($package, $filename, $line, @blahblah) = caller(0);
For example:
#! perl -w report("Hello, world!"); sub report { my ($package, $filename, $line) = caller; print "print from $filename line $line: @_\n"; }
Output:
print from test.pl line 3: Hello, world!
|
|---|