Schrift
[thread]720[/thread]

erklärungsbedarf



<< >> 8 Einträge, 1 Seite
Gast Gast
 2006-05-02 15:15
#7473 #7473
hi kann mir maybe jemand die zeilen mal verständlich erklären hab die aus einem anderen beitrag.
Code: (dl )
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
# Links laden
##############

my ( @data, @links, @texts );

if (! -f $file ) {
&create_linklist;
}
else {
open ( F, '<', $file ) || die "Could not open $file. $!";
@data = grep { /^[^#]/ } <F>;
close F;
$i = $k = 0;
foreach ( @data ) {
chomp ( $_ );
if ( $_ =~ /^LINK:\s/ ) {
$_ =~ s/^LINK:\s//;
$links[$i] = $_;
$i++;
}
else {
$_ =~ s/^TEXT:\s//;
$texts[$k] = $_;
$k++;
}
}
}
Taulmarill
 2006-05-02 15:45
#7474 #7474
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
was genau verstehst du nicht? die regulären ausdrücke? oder das if () {} else {}? oder was?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
lichtkind
 2006-05-02 15:48
#7475 #7475
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
naja es prüft ob der dateiname zu einer textdatei gehört. wenn ja öffnet er sie, fischt die kommentarzeilen raus (die mit "#" anfangen) und packt deren inhalte in 2 verschiedene arrays je nahcdem womit sie anfangen
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Links laden
##############

my ( @data, @links, @texts );

unless (-f $file) {
&create_linklist;
} else {
open ( F, '<', $file ) || die "Could not open $file. $!";
@data = grep { /^[^#]/ } <F>;
close F;
foreach ( @data ) {
chomp;
s/^([LINK|TEXT]:)(.+)/$2/;
if ($1 eq 'LINK') { push @links }
else { push @texts }
}
}

EDIT habs nochmal gekürzt\n\n

<!--EDIT|lichtkind|1146570931-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Strat
 2006-05-03 20:58
#7476 #7476
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my $file = "....";
my (@links, @texts);

unless (-f $file) {
# &create_linklist ohne klammern bedeutet &create_linklist(@_) !!!
&create_linklist();
}
else {
open (my $FH, "<", $file ) or die "Error: couldn't read '$file': $!\n";
my @data = grep { not /^\s*\#/ } <$FH>;
close( $FH );
chomp( @data );

my @links = ();
foreach my $line (@data) {
if ( $line =~ s/^LINK:\s*/ ) { push (@links, $line) }
elsif( $line =~ s/^TEXT:\s*/ ) { push (@texts, $line) }
else { print "invalid: $line\n" }
} # foreach
} # else
\n\n

<!--EDIT|Strat|1146675567-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Ronnie
 2006-05-03 21:58
#7477 #7477
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Wenn man einen Hash nimmt kann man das ganze noch schön eindampfen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

#open ( F, '<', $file ) || die "Could not open $file. $!";
my %lut;
/^(LINK|TEXT):(.*)$/ and push @{$lut{$1}}, $2 while (<DATA>);
die Dumper \%lut;
#close F;

_ _DATA_ _
#wgongwog
LINK:http://www.perl-community.de
#1324wgongwog
#
LINK:http://www.example.com
TEXT:there is more than one way to do it
LUI:bla
#
docsnyder
 2006-05-17 17:50
#7478 #7478
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@Ronnie

Wow! Bin immer wieder fasziniert, wenn ich sehe, wie elegant sich Dinge in Perl formulieren lassen.

Toller Ansatz, Hut ab!

Gruß, Doc
renee
 2006-05-17 17:54
#7479 #7479
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Damit dürften Anfänger aber etwas überfordert sein...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ronnie
 2006-05-17 18:38
#7480 #7480
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
@docsnyder: Danke. Freut mich das es dir gefällt.
<< >> 8 Einträge, 1 Seite



View all threads created 2006-05-02 15:15.