Leser: 1
|< 1 2 3 4 ... 7 >| | 61 Einträge, 7 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw( :all );
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
# Initialisierung
##################
my $cgi = new CGI;
my %params = $cgi->Vars();
my $file = '/SAN/content/cgi-bin/links';
my $save_error = "";
my $i = 0;
my $k = 0;
# Link speichern
#################
if ( defined $params{write} && $params{write} eq "true" ) { #
$params{text} =~ s/\r\n/<br>/sg;
if (! -f $file ) {
&create_linklist;
}
else {
if ( $params{url} =~ /^http:\/\/.*$/ ) {
open ( D, '>>', $file ) or die "Could not save data. $!";
print D "#" x80, "\nLINK: $params{url}\nTEXT: $params{text}\n";
close D;
}
else {
$save_error = "<p>Bitte geben Sie den kompletten URL an, sonst kann ";
$save_error .= "Ihr Link nicht gespeichert werden.<br /> Beispiel: ";
$save_error .= "http://ihr.neuer.link.com/</p>";
}
}
}
# 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++;
}
}
}
# Dokument ausgeben
####################
my $author = "Andre Hornig";
print $cgi->header(),
$cgi->start_html(
-title => "Linkit - Eine kleine Favoritenliste.",
-bgcolor => "#99ccff",
'Linkit'
),
$cgi->h1('Linkit'),
$cgi->p({-style => 'color:red'}, "Verfasst von: ", $cgi->i($author)),
$cgi->hr({-noshade => undef, -size => '1'}),
$cgi->p('Eine kleine Favoritenliste');
$i = 0;
foreach ( @links ) {
print $cgi->p(
{-style => "margin:5px;"}, $i+1, ") ", $cgi->a( {-href => $_}, $texts[$i] )
);
$i++;
}
print << "EOF";
<h1>Neuen Link eintragen</h1>
$save_error
<form action="" method="post">
<p>
Link:<br />
<input type="text" name="url" size="40" maxlength="40" />
</p>
<p>
Beschreibung:<br />
<textarea rows="5" cols="50" name="text"></textarea>
<input type=hidden name="write" value="true" />
</p>
<p><input type="submit" value="Absenden" /></p>
</form>
EOF
$cgi->end_html();
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw( :all );
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use Tie::File;
# Initialisierung
##################
my $cgi = new CGI;
my %params = $cgi->Vars();
my $file = '/SAN/content/cgi-bin/links';
my $save_error = "";
my $i = 0;
my $k = 0;
# Link speichern
#################
if ( defined $params{write} && $params{write} eq "true" ) { #
$params{text} =~ s/\r\n/<br>/sg;
if (! -f $file ) {
&create_linklist;
}
else {
if ( $params{url} =~ /^http:\/\/.*$/ ) {
open ( D, '>>', $file ) or die "Could not save data. $!";
print D "#" x80, "\nLINK: $params{url}\nTEXT: $params{text}\n";
close D;
}
else {
$save_error = "<p>Bitte geben Sie den kompletten URL an, sonst kann ";
$save_error .= "Ihr Link nicht gespeichert werden.<br /> Beispiel: ";
$save_error .= "http://ihr.neuer.link.com/</p>";
}
}
}
elsif(defined $params{action} and $params{action} eq 'delete'){
delete_link($params{link});
}
# 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++;
}
}
}
# Dokument ausgeben
####################
my $author = "Andre Hornig";
print $cgi->header(),
$cgi->start_html(
-title => "Linkit - Eine kleine Favoritenliste.",
-bgcolor => "#99ccff",
'Linkit'
),
$cgi->h1('Linkit'),
$cgi->p({-style => 'color:red'}, "Verfasst von: ", $cgi->i($author)),
$cgi->hr({-noshade => undef, -size => '1'}),
$cgi->p('Eine kleine Favoritenliste');
$i = 0;
foreach ( @links ) {
print qq~<form action="./linkit.pl" method="post">
<input type="hidden" name="action" value="delete">
<input type="hidden" name="link" value="$texts[$i]">
<input type="submit" value="löschen">
</form>
~;
print $cgi->p(
{-style => "margin:5px;"}, $i+1, ") ", $cgi->a( {-href => $_}, $texts[$i] )
);
$i++;
}
print << "EOF";
<h1>Neuen Link eintragen</h1>
$save_error
<form action="" method="post">
<p>
Link:<br />
<input type="text" name="url" size="40" maxlength="40" />
</p>
<p>
Beschreibung:<br />
<textarea rows="5" cols="50" name="text"></textarea>
<input type=hidden name="write" value="true" />
</p>
<p><input type="submit" value="Absenden" /></p>
</form>
EOF
$cgi->end_html();
sub delete_link{
my ($link_text) = @_;
tie my @array,'Tie::File',$file or die $!;
my ($index) = grep{$array[$_] =~ /TEXT:\s$link_text/}(0..scalar(@array)-1);
@array[$index-2..$index] = ('') x 3;
untie @array;
}
1
2
3
4
5
6
7
perlcode
print 'html_code';
perlcode
print 'html_code';
perlcode
print 'html_code';
perlcode
1
2
3
4
if ($modus eq 'laden') {do 'laden.pl';}
if ($modus eq 'speichern') {do 'speichern.pl';}
do 'anzeigen.pl';
QuoteIf you're a fanatic about valid HTML and would like your templates to conform to valid HTML syntax, you may optionally type template tags in the form of HTML comments.
<img src="<--TMPL_VAR IMAGE_SRC-->">
<img src="TMPL_VAR IMAGE_SRC">
1
2
3
4
5
6
7
8
9
10
11
12
13
z. B.
<TMPL_LOOP NAME=EMPLOYEE_INFO>
Name: <TMPL_VAR NAME=NAME> <br>
Job: <TMPL_VAR NAME=JOB> <p>
</TMPL_LOOP>
$template->param(EMPLOYEE_INFO => [
{ name => 'Sam', job => 'programmer' },
{ name => 'Steve', job => 'soda jerk' },
]
);
1
2
3
4
5
6
7
8
$template->sub(EMPLOYEE_INFO => &mein_loop($loopinhalt) );
sub meinloop
{
hier will ich nun den Code Zwischen dem
"<TMPL_LOOP NAME=EMPLOYEE_INFO>" und "</TMPL_LOOP>"
- Tag bearbeiten und ändern... dann zurück schreiben.
}
1
2
3
4
5
6
7
8
$template->sub(EMPLOYEE_INFO => &mein_loop($loopinhalt) );
sub meinloop
{
hier will ich nun den Code Zwischen dem
"<TMPL_LOOP NAME=EMPLOYEE_INFO>" und "</TMPL_LOOP>"
- Tag bearbeiten und ändern... dann zurück schreiben.
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$code = mein template htmlcode, bzw. die stelle aus loop
#splitten. ($head, $loop, $foot)
$code = $head;
for $i (1..20)
{
print $loop_code;
# Jetzt sehr viel damit machen
# hier müssen gewisse Variabeln ersetzt werden, oder dynamische änderungen, berechnungen
$code = $code.$loop_code;
}
$code = $code. $foot;
print $code; #oder in File
1
2
3
4
<TMPL_VAR NAME=NAME> = nicht html konform
alternative:
<!--TMPL_VAR NAME=NAME--> = Unsichtbar in den Editoren!
TMPL_Varname = immer sichtbar (wird als text interpretiert)
$code = $template->Ganzer_CODE();
|< 1 2 3 4 ... 7 >| | 61 Einträge, 7 Seiten |