The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-27-2009
zedex zedex is offline
Registrierte Nutzer
  
 

Join Date: Feb 2007
Ort: Indien, Mumbai
Beiträge: 139
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 ...
  #2 (permalink)  
Old 05-27-2009
cbkihong cbkihong is offline Forum Advisor  
Advisor
  
 

Join Date: Sep 2002
Ort: Hong Kong, China
Beiträge: 1624

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.
  #3 (permalink)  
Old 05-27-2009
zedex zedex is offline
Registrierte Nutzer
  
 

Join Date: Feb 2007
Ort: Indien, Mumbai
Beiträge: 139
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",...) ;

  #4 (permalink)  
Old 05-27-2009
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
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.
  #5 (permalink)  
Old 05-28-2009
zedex zedex is offline
Registrierte Nutzer
  
 

Join Date: Feb 2007
Ort: Indien, Mumbai
Beiträge: 139
Dank KevinADC

eigentlich war ich an so viele Dinge vergessen einfache Nutzung von HASH. auch wenn ich für diesen Hash gleichen Grund zuvor .. jede Art und Weise schön zu wissen, wie es geht
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 11:24 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0