![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Mehrere Variablen in einer Variable in Perl | Raynon | Shell Programmierung und Scripting | 3 | 05-04-2009 11:10 PM |
| Pass csh Variable Perl | Raynon | Shell Programmierung und Scripting | 9 | 10-19-2007 10:46 PM |
| perl nicht meine Lesung Variable | yoonixq4u | Shell Programmierung und Scripting | 3 | 08-24-2007 10:24 PM |
| PERL: Wie zu sagen, wenn die Variable NULL ist | dangral | Shell Programmierung und Scripting | 4 | 03-19-2003 01:34 PM |
| Perl Variable assingment | seismic_willy | Shell Programmierung und Scripting | 2 | 01-29-2002 04:54 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
perl, variables Wert?
Hi ich habe folgenden Code Code:
my $a1 = "A" ;
my $a2 = "B" ;
my $a3 = "C" ;
foreach my $k ( 1,2,3 )
{
my $msg = ${a{$k}} # this should be at runtime i am creating variable a1 and assigning it value to msg .
print "$msg\n" ;
}
vor, was nicht funktioniert! Ich möchte, wenn k \u003d 1 msg \u003d "A" Wie kann ich das machen? Post Update ----- ----- Ich habe es funktioniert Ich habe Array anstelle von 3 Variablen .. aber immer noch, wenn Sie mir sagen, wie können Sie es ohne Array nur für neugierig ... Zuletzt bearbeitet von zedex; am 05-27-2009 07:41 AM.. Grund: Update entfernt extra ... |
|
||||
|
Code:
# No "my" here
$a1 = "A" ;
$a2 = "B" ;
$a3 = "C" ;
foreach my $k ( 1,2,3 )
{
my $msg = ${"a${k}"};
print "$msg\n" ;
}
Das ist symbolische Verweis, und ist normalerweise nicht empfehlen. Er arbeitet für die Variablen in der Symboltabelle nur, so dass Sie nicht verwenden können diesen Trick für die Variablen, die lexikalisch Umfang (z. B. "mein"). Sind Sie wirklich sicher, dass Sie wollen, dass diese? Ich kann nicht glauben, der aus irgendeinem Grund, sich für solche Konstrukte in der typischen Programme außer spezialisierte Module, die es zu Chaos mit dem Symbol Tabelle direkt. |
|
||||
|
Ich habe sie die Arbeit mit Arrays. tatsächlich gab es einen Teil-Code in die Wiederholung. wie die Kontrolle 5,6,7 Argument Länge 1 und dann seinen gültigen Eintrag, so wollte ich nach der Prüfung zu drucken, die Argument falsch war. Code:
$ARG5 = "ADD ENTRY TO DATABASE" ;
$ARG6 = "ADD ENTRY TO REG FILE" ;
$ARG7 = "SHOW DEBUG MSG" ;
foreach $k in ( 5,6,7)
{
if ...
{
} else
{
print ${"ARG$k"} entry invalid\n" ;
}
}
so i created array
@ARG = ( undef ,undef, ..., "ADD ENTRY TO REG FILE",...) ;
|
|
||||
|
zedex, was Sie wollen, ist ein Hash. Der Annahme, dass der Rest des Codes funktioniert: Code:
my %ARG = (
5 => "ADD ENTRY TO DATABASE",
6 => "ADD ENTRY TO REG FILE",
7 => "SHOW DEBUG MSG",
);
foreach $k in (5,6,7) {
{
if ...
{
} else
{
print "$ARG{$k} entry invalid\n" ;
}
}
Hash-Werte sind ein grundlegendes Konzept der perl (und andere Programmiersprachen), benötigen Sie zum Lesen auf und verwenden sie als notwendig. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|