Thread Parameterübergabe in Subroutine (12 answers)
Opened by roli at 2005-03-06 20:30

roli
 2005-03-06 20:30
#52376 #52376
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

ich habe ein Problem mit der Uebergabe eines Parameters in eine Subroutine. Hier Aufruf der Subroutine:
Code: (dl )
1
2
3
chomp(my $to_do = $l_func_array[$i]{'job_template'});
print "Führe -> $to_do <- aus\n";
exec_job($to_do);


Hier die Subroutine:
Code: (dl )
1
2
3
4
5
6
7
8
sub exec_job
{
 buggy(, , "Subroutine \"exec_job\" Anfang");
 print "exec_job\n";

 my $job = $_; #Funktioniert nicht
 #my $job = shift; #So geht's, aber warum?
 print "Übergeben wurde: $job\n";


Hier das Ergebnis:
Code: (dl )
1
2
3
Führe -> ../jobs/shell.sh <- aus
exec_job
Übergeben wurde: 6


Wenn ich die auskommentierte Zeile "my $job = shift;" anstelle von "my $job = $_;" verwende ist alles ok, aber warum?

Danke

Roland


P.S.: Die 6 die an der Stelle von "Übergeben wurde:" ausgegeben wird, ist der Inhalt von $i aus dem Aufruf, gibt's da einen Zusammenhang?
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2

View full thread Parameterübergabe in Subroutine