[vienna.pm] Probleme mit einem script
roland.bauer at fff.at
roland.bauer at fff.at
Thu Aug 5 00:23:34 CDT 2004
* * * vienna-pm-list * * *
> open (EIN, "/bin/ls *.asc |");
> @files=<EIN>;
> close (EIN);
> $nf=@files;
> $n=0;
> for ($m=0 , $m <5 , $m++)
> {
> print "$n ";
> print "<a href=\"$files[$n]\">$files[$n]</a><br>";
> $n++;}
Der entscheidende Fehler war, dass Du im "for"-Ausdruck
(in diesem Fall) Strichpunkte verwenden musst.
Es gibt naemlich zwei Arten von for-Ausdruecken:
1) for ( ... ; ...; ...) = 3 Befehle, durch ";" getrennt
2) for (@liste)
Du hast Typ 1 gemeint, aber wegen der Beistriche wurde Dein
dreiteiliger Ausdruck als Liste mit folgenden 3 Elementen
interpretiert: ($m=0 , $m <5 , $m++)
Versuch einmal diese Version:
####################################
#use strict;
@files= glob "*.asc";
close (EIN);
$nf=@files;
$n=0;
for ($m=0 , $m <5 , $m++)
{
print "$n ### $m\n"; # <<<<<< \n ergaenzt
print "<a href=\"$files[$n]\">$files[$n]</a><br>\n"; # <<< \n ergaenzt
$n++;
}
####################################
Da habe ich die Beistriche noch nicht ausgebessert ...
So geht es auch:
#################
use strict;
my $n;
for (glob "*.asc")
{
print $n++, "\n";
print qq(<a href="$_">$_</a><br>\n);
}
########################
Und immer use strict verwenden ...
Schoene Gruesse
Roland
---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/
###
You are subscribed to vienna-pm-list as roland.bauer at fff.at
http://www.fff.at/fff/vienna.pm/
More information about the Vienna-pm
mailing list