perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 19
Click for quality!




11.02.2012 / 23:29

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragReferenzen
Seitenanfang
Hi erstmal hab ein problemchen komm bei einer Sache nicht weiter

Tutorialpage

hab von dem Kapitel davor diesen Code gemacht, der auch läuft nur irgendwie ist es mir zu kompliziert geschrieben wie ich die nächste Übungsaufgabe machen soll, kann mir da einer maybe weiterhelfen, bin halt noch nicht so Perl-Profi

Mein Quellcode:

#!/usr/local/bin/perl
#
#
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);

print "Content-type: text/plain\n\n";

my $text = '/SAN/content/cgi-bin/text';

my ($out, $tmp);

open (F, "<", $text);
my @lines = <F>;
close (F);

chop( @lines );
my $lines = "@lines";

#Hauptroutine

&suchstring;
&for;

#Subroutinen

sub suchstring {

my $s = "[Dd]u";
@lines = split ( /$s/, $lines );
}

sub for {

for ( my $i = 0; $i < $#lines; $i++ ) {
$out = substr( $lines[$i], length($lines[$i]) - 20, 20 );
$out .= "du";
$out .= substr( $lines[$i + 1], 0, 20 );

print $out."\n";

}
}

exit 0;

Uebung lautet:

Man nehme die Uebung des letzten Kapitels und tausche die Parameter der Subroutine aus. Damit das funktioniert, muss man eine Referenz auf den Array der Textstücke übergeben und in der Subroutine den Array dereferenzieren.

Ich versteh da nicht wirklich die Aufgabenstellung x_X

Naja wäre für ein wenig Hilfe (egal welche art) von euch Könnern sehr dankbar

bye bye

Datum: 19.04.2006-15:11

Beitragre: Referenzen
Seitenanfang
Hi,

ArrayReferenz an eine Funktion übergeben:
[code]
&irgendwas( \@array );
[code]

ArrayReferenz in der Funktion dereferenzieren:
[code]
sub irgendwas {
my $element2 = ${ $_[0] }[2];
return $element2+ 5;
}

-uw

Datum: 19.04.2006-16:39

Beitragre: Referenzen
Seitenanfang
Hallo,

eine Referenz ist ja nichts anderes als ein Zeiger auf etwas...

In Perl erfolgt die Referenz immer mit dem '\':

my @aTestArray= ( 'Hallo', 'Peter' );
my $refOfArray = \@aTestArray;

Zur Dereferenzierung gibt es dann zwei Möglichkeiten:

1. mit dem entsprechenden Variablenprefix ( $, @, % ) und {}:

my @aTest2Array = @{$refOfArray} ;

2. wenn man ein Element direkt ansprechen will (z.B. beim Array oder beim Hash ) mit dem '->'

my $Element0 = $refOfArray->[0];

Gruß Ralf

Datum: 19.04.2006-17:57

-






-
-