Thread Werte in Subroutine und zurück mit Modulen (36 answers)
Opened by Brenner at 2009-01-13 17:30

Brenner
 2009-01-14 16:06
#117969 #117969
User since
2009-01-13
87 Artikel
BenutzerIn
[default_avatar]
renee+2009-01-14 14:24:06--
Du musst der Subroutine einen Parameter übergeben und dem Parameter entsprechend das Element ausgeben.

Code: (dl )
1
2
3
4
5
6
test(3);

sub test {
my ($parameter) = @_;
print "Mir wurde der Index 3 uebergeben\n";
}


Der Rest ist Deine Arbeit ;-)




Ich versteht das einfach nicht :-( Hab hier zusätzlich noch das o´reily "Einführung in Perl" liegen und hab eben versucht so einen Wert des arrays auszugeben, wieso geht das denn nicht?

Die Zahl 3 habe ich per Hauptprogramm
MODUL::ERRORCODE::errormap(3);
übergeben. Sie wird auch so angenommen und ich kann die Variable $parameter ausgeben und es steht die 3 drin.

Ich weiß ja das ich nur durch selber machen lerne, aber warum funktioniert meine Zeile:
Code (perl): (dl )
1
2
$line = $errormaplist[$parameter];
print $line;

nicht? Müsste $line nicht die dritte Zeile des Arrays zugewiesen bekommen und mit print ausgeben?



Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package MODUL::ERRORCODE;

use strict;
use warnings;


sub errormap
{
        open( my $errormaplist, '<', 'errormap.txt' ) or die "Fehler: $!";
        #while( my $line = <$errormaplist> )
        #{
        #       print $line;
        #}
        my ($parameter) = @_;
        print "Index: ".$parameter."\n";
        $line = $errormaplist[$parameter];
        print $line;
        close $errormaplist;
}
1;

View full thread Werte in Subroutine und zurück mit Modulen