Schrift
[thread]6209[/thread]

Zähler - Variablen mit "001"



<< >> 9 Einträge, 1 Seite
utang
 2004-04-22 23:11
#81796 #81796
User since
2004-01-03
30 Artikel
BenutzerIn
[default_avatar]
Hi, ich möchte benötige einen Zähler der aber nicht mit den Werten 1,2,3 arbeitet,sonder eher mit "001"."002","003"....

Mittels Printf kann ich zwar mir bei der Ausgabe,die fehlenden Null anhängen lassen aber ich brauch es in einer Variablen.

Code: (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

#print "Zahl eingeben: ";
#chomp($zahl = <STDIN>);

for ($zahl = 1; $zahl <= 10; $zahl++) {
printf "Bild_%03d.jpg\n" ,$zahl;
}


Ist es vlt. Möglich das ich die Printf Ausgabe wieder einlesen kann,also das irgendwie austrickse?

Ich möchte nämlich ein "system(Befehl $zahl)" aufrufen,der dann quasi 100 ausgeführt wird in abhängigkeit mir der variable...\n\n

<!--EDIT|renee|1082661645-->
renee
 2004-04-22 23:18
#81797 #81797
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
my $variable = 1;
my $zaehler = sprintf("%03i",$variable);
print $zahler;
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/
Strat
 2004-04-23 02:28
#81798 #81798
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
anmerkung zu sprintf: da besser nicht auf die idee kommen zu schreiben:
Code: (dl )
1
2
@list = ("%03i", $variable);
$varWith0 = sprintf(@list);
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
utang
 2004-04-23 02:42
#81799 #81799
User since
2004-01-03
30 Artikel
BenutzerIn
[default_avatar]
Ich bedanke mich bei euch beiden, funktioniert wunderbar!

-danke-
ronald
 2004-04-23 10:25
#81800 #81800
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
Quote
Hi, ich möchte benötige einen Zähler der aber nicht mit den Werten 1,2,3 arbeitet,sonder eher mit "001"."002","003"....


Das geht mit dem ++-Operator. Der ++-Operator ist "magic" und macht immer das, was er soll. ;-)

Beispiel:

Code: (dl )
1
2
3
4
5
6
7
8
my $i = "001";
my $n = "a";
my $N = "A";

for (1..10) {
$i++; $n++; $N++;
print "$i $n $N\n";
}

liefert
Quote
002 b B
003 c C
004 d D
005 e E
006 f F
007 g G
008 h H
009 i I
010 j J
011 k K
\n\n

<!--EDIT|ronald|1082701572-->
betterworld
 2004-04-23 17:10
#81801 #81801
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Code (perl): (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 -l
use strict;
use warnings;

{
  package Zaehler;
  use Tie::Scalar;
  use vars '@ISA';
  push @ISA, 'Tie::StdScalar';

  sub FETCH {
    my $self = shift;
    return sprintf('%03d', $$self);
  }
}

my $zaehler;
tie $zaehler, 'Zaehler', 8;

print $zaehler;
$zaehler ++;
print $zaehler;
\n\n

<!--EDIT|betterworld|1082725980-->
betterworld
 2004-04-23 17:20
#81802 #81802
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Hmm, ich hab wohl ronald ueberlesen. Mein Code ist wohl eher zu viel Aufwand ;)
utang
 2004-04-23 19:24
#81803 #81803
User since
2004-01-03
30 Artikel
BenutzerIn
[default_avatar]
@ronald das mit dem $I++ geht auch... da kann ihc ja noch n bissel umbasteln... =)

Code: (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

my $z = "001";

for (1..10) {

system("echo $z\n"); $z++;

}


man lernt eben immerdazu -danke-
Crian
 2004-04-24 04:50
#81804 #81804
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Man beachte dabei nur, dass das -- nicht so magisch ist wie das ++ =)
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
<< >> 9 Einträge, 1 Seite



View all threads created 2004-04-22 23:11.