Schrift
[thread]6593[/thread]

Variable aktuelle Programmzeile zuweisen: Sag in welcher Zeile Du dich befindest



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
root
 2004-12-22 12:40
#50308 #50308
User since
2003-08-15
120 Artikel
BenutzerIn
[default_avatar]
Ich möchte gerne die Zeilenummer wissen in der sich mein Script gerade befindet.

Hab nen Nachtjob, der soll bei einem Fehler bestimmte Teile überspringen und dann weitermachen, mir aber bitte eine Mail schreiben, dass er einen Fehler hatte, welchen und in welcher Zeile.

my $programmzeile = ?;
Relais
 2004-12-22 12:47
#50309 #50309
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
($package, $filename, $line) = caller;

Siehe perldoc -f caller
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
root
 2004-12-22 13:07
#50310 #50310
User since
2003-08-15
120 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
        my ($script_package, $script_file, $script_line) = caller; # Ermittelt aktuelle Programmzeile

$script_line ist leer!?
Relais
 2004-12-22 14:14
#50311 #50311
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ok, das geht so nur in einer Subroutine oder einem eval(), wie im Handbuche steht...

Code: (dl )
1
2
3
4
5
6
7
8
9
use strict;
sub blah {
my ($script_package, $script_file, $script_line) = caller;
return $script_line;
}

my $script_line = blah();

print $script_line, "\n";
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
pq
 2004-12-22 14:19
#50312 #50312
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
warum gleich caller bemühen...
print "Ich befinde mich in der Zeile ", _ _LINE_ _, " in der Datei ",_ _FILE_ _;

(leerzeichen zwischen den _ _ weglassen, das ist ein forumsbug)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Ronnie
 2004-12-22 14:36
#50313 #50313
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Geht es um die aktuelle Zeile im Perl-Code oder durchläufst du eine Datei mit WHILE(<>)? Bei letzterem kannst du die aktuelle Zeile AFAIR mit $. erfahren.
Relais
 2004-12-22 14:44
#50314 #50314
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da war doch was, es steht nur nicht in <!--pod1--><a href="//www.perldoc.com/perl5.8.0/pod/perlvar.html" target="_blank">perldoc <!--pod2-->perlvar<!--pod3--></a><!--pod4-->, wo ich es vermutet hatte
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
root
 2004-12-22 15:45
#50315 #50315
User since
2003-08-15
120 Artikel
BenutzerIn
[default_avatar]
Es geht um die aktuelle Zeile im Perl-Code.

Was war denn da Relais? Ich nur Bahnhof!
esskar
 2004-12-22 16:45
#50316 #50316
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
@root: greif doch pq's idee auf
root
 2004-12-22 16:50
#50317 #50317
User since
2003-08-15
120 Artikel
BenutzerIn
[default_avatar]
Ich bin zu doof! Dabei hatte ich das schonmal!

Code: (dl )
print LOGFILE "Ich befinde mich in der Zeile ", _LINE_, " in der Datei ",_FILE_;

Code: (dl )
Bareword "_LINE_" not allowed while "strict subs"...
\n\n

<!--EDIT|root|1103727194-->
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2004-12-22 12:40.