Leser: 2
|< 1 2 >| | 15 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/perl
$wert= <STDIN>;
$gefunden = 0;
open(LESEN,"<Quelle.dat") or scripterror("Fehler: Kann Quelle.dat nicht oeffnen!",$!);
while ($linie = <LESEN>) {
chomp($linie);
($Kennzeichen,$Farbe,$Marke,$Halter) = split(/|/, $linie);
if ($wert eq $Kennzeichen or $Farbe or $Marke or $Halter ) {
$gefunden = 1;
last;
}
}
close(LESEN);
if (!$gefunden) {
print "Nicht gefunden!!!";
exit;
} else {
print "$Kennzeichen\n";
print "$Halter\n";
print "$Marke\n";
print "$Farbe\n";
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/usr/bin/perl -w use strict; use Data::Dumper; #vergelichswert abfragen print "Wert eingeben: "; chomp(my $input = <STDIN>); #datei druchlaufen my @result; while (local $_ = <DATA>) { my @parts = split /\|/; #aufspalten der einzelzeile if (grep {$_ eq $input} @parts) { #vegleich v. input mit einzelteilen d. zeile push @result, @parts; #ergebnis bei match hinzufuegen } } print Dumper @result; #ausgabe __DATA__ KN P 5612|rot|Opel|Hans Spiddel| FN KT 2|gruen|VW|Michael Kohlhaas| VS RT 926|rot|Opel|Peter Pan|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rbaecker@test ~ $ vi local.pl
#!/usr/bin/perl
use strict;
use warnings;
$_ = 'hallo';
print;
while( <DATA> ){ chomp }
print;
__END__
test
rbaecker@test ~ $ perl local.pl
Use of uninitialized value in print at local.pl line 12, <DATA> line 2.
hallo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rbaecker@test ~ $ vi local.pl
#!/usr/bin/perl
use strict;
use warnings;
$_ = 'hallo';
print;
while( local $_ = <DATA> ){ chomp }
print;
__END__
test
rbaecker@test ~ $ perl local.pl
hallohallo
Gast+2008-04-29 11:08:42--
KurtZ+2008-04-29 12:51:00--so wie es hier aussieht wird hinter while das globale $_ explizit auf undef gesetzt!
wieso?
KurtZ+2008-04-29 12:51:00--gehörts eigentlich zu einem Package? ... tatsächlich aber immer $main::_
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#!/usr/bin/perl use strict; use warnings; $_ = 'hallo'; while( local $_ = <DATA> ){ chomp } require MyTest; print; __END__ test
123
renee+2008-04-29 13:01:01--Deswegen $_ nur ganz gezielt einsetzen... Sonst schießt man sich selbst in den Fuß.
|< 1 2 >| | 15 Einträge, 2 Seiten |