Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7708[/thread]

Counter: zählen



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Gast Gast
 2006-02-13 17:36
#62924 #62924
Hi,

ich lasse mir in einer funktion den inhalt eines verzeichnisses ausgeben, nun will ich die vorhandenen dateien zählen und mir am ende die gesamtzahl ausgeben lassen, hat jemand eine idee wie sich das realisieren lässt?
Froschpopo
 2006-02-13 17:42
#62925 #62925
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
$counter++ for @inhalt;


oder noch einfacher:

$counter = @inhalt ."";\n\n

<!--EDIT|Froschpopo|1139845558-->
Ronnie
 2006-02-13 17:58
#62926 #62926
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=Froschpopo,13.02.2006, 16:42]$counter = @inhalt ."";[/quote]
Einen skalaren Kontext kannst du schöner mit einem unären + erzwingen:
Code: (dl )
$counter = +@inhalt;
[E|B]
 2006-02-13 18:30
#62927 #62927
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Wieso nicht gleich:

Code: (dl )
$skalar = @dateien;


Zum Dateien suchen:

perldoc -f opendir
File::Find
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Crian
 2006-02-13 18:58
#62928 #62928
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Wenn man scalaren Kontext erzwingen will und nicht golft, empfiehlt sich scalar @array zu schreiben.

Das '+' kann bei print ganz sinnvoll sein:

print ($a + $b) * $c;

macht etwas anderes als

print +($a + $b) * $c;

.\n\n

<!--EDIT|Crian|1139849940-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
[E|B]
 2006-02-13 19:38
#62929 #62929
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@Crian

Was macht + in deinem Beispiel konkret? Ich kann das Ergebnis nicht nachvollziehen.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
pq
 2006-02-13 21:21
#62930 #62930
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Ronnie,13.02.2006, 16:58]Einen skalaren Kontext kannst du schöner mit einem unären + erzwingen:
Code: (dl )
$counter = +@inhalt;
[/quote]
der skalare context muss nicht erzwungen werden, er ist schon da!
$counter = @inhalt;
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Ronnie
 2006-02-13 21:47
#62931 #62931
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=pq,13.02.2006, 20:21][quote=Ronnie,13.02.2006, 16:58]Einen skalaren Kontext kannst du schöner mit einem unären + erzwingen:
Code: (dl )
$counter = +@inhalt;
[/quote]
der skalare context muss nicht erzwungen werden, er ist schon da!
$counter = @inhalt;[/quote]
Ja, ist mir doch bewusst. Aber wenn man ihn erzwingen will, finde ich das unäre Plus einfach am schönsten ;)
esskar
 2006-02-13 22:21
#62932 #62932
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[E|B
,13.02.2006, 18:38]@Crian

Was macht + in deinem Beispiel konkret? Ich kann das Ergebnis nicht nachvollziehen.

#!/usr/bin/perl
my $x = 100;
my $y = 1000;
my $z = 3;
print +($x + $y) * $z;
print "\n";
print ($x + $y) * $z;
print "\n";
^Z
3300
1100

print nimmt eine liste
Froschpopo
 2006-02-16 02:10
#62933 #62933
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
noch ne Möglichkeit: $count = $#inhalt+1; #gibt letzten index des arrays aus. wenn der array mit 0 begonnen hat muss noch 1 addiert werden
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2006-02-13 17:36.