Schrift
[thread]6199[/thread]

Name /.*::.*/ used only once: possible typo at

Leser: 1


<< |< 1 2 >| >> 19 Einträge, 2 Seiten
Knuddlbaer
 2004-04-18 02:04
#81641 #81641
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Hi!

Ich habe die Meldung:

Name "param::options" used only once: possible typo at ./test line 7.

Gibts es einen Weg dem Perl Interpreter (Compiler ?!) klar zu machen das ich mir bewusst bin die Variable nur einmal verwendet zu haben ? Finde die Meldung etwas nervig.
[E|B]
 2004-04-18 02:45
#81642 #81642
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Zeig mal die ersten paar Zeilen Code.

PS: "gcc Larry Wall" ist eine Beleidigung! :D
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]
Knuddlbaer
 2004-04-18 04:38
#81643 #81643
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package param;
%options;
@parameter;
$help;

my @zeichen;
   foreach(@ARGV)
   {
       if($_ =~ /^--(.*)(:?=(.*))?/)
       {   if($2)
           { $param::options{"$_"} = $2; }
           else
           { $param::options{"$_"} = 1; }
       }
       elsif($_ =~ /^-(.*)/)
       {
           @zeichen = split ( // , $1);
           foreach(@zeichen)
           {
               $param::options{"$_"} = 1;
           }
       }
       else
       {
               push(@param::parameter,$_);
       }
   }
   $help =  ($param::options{"help"} || $param::options{"h"});

1;



Vorgestellt hab ich mir das so:

Ich binde param ein , das soll die Parameter parsen und in den Vairablen %param::options und $param::parameter zur verfügung stellen. Ich brauche genau den Code in rund 20 Perlprogrämmchen und wollte den nich jedesmal reinkopieren etc.

Aber das klappt so nicht :o(\n\n

<!--EDIT|Knuddlbaer|1082249035-->
Dubu
 2004-04-18 13:14
#81644 #81644
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
perldoc Getopt::Long wird dir gefallen

edit by Erik: Link korrekt gesetzt.\n\n

<!--EDIT|[E|B]|1082285602-->
Knuddlbaer
 2004-04-18 16:53
#81645 #81645
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
:o) thx
Gast Gast
 2004-04-18 17:03
#81646 #81646
oder schau Dir mal die Doku zu
warnings
an - Du kannst einige Warnungen einfach ausschalten.
Knuddlbaer
 2004-04-18 17:37
#81647 #81647
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Naja, nebst der Warnung wurde die Variable nich wie gewünscht gefüllt. (thx - bei dem Link oben steht ne menge doku drum herum. Jetzt noch die Zeit finden das alles zu lesen :o)


Das mit den Parametern hat sich erledigt, aber ich brauch auch noch sowas wie ne Konfig (siehe: globale variablen in Klassen) nur bin ich da noch etwas von entfernt :o(

thx für den Link, der schaut gut aus. Wenn ich jetzt noch rausfinde ich ich

$verbose

durch ein Element eines Hash's ersetzen kann,
so das ich später einfach options{"verbose"} schreiben kann wäre es einfach das in bestehenden Programmen zu ersetzen :o)

thx
format_c
 2004-04-18 17:49
#81648 #81648
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Kannst ein Objekt erstellen, und die Werte als Eigenschaften des Objektes mitgeben.
sub new {
my $self = {
EINWERT => 'trallala',
EINANDERERWERT => 'anderewert'
};
bless($self,'CLASS');
return $self;
} #sub


Dann
my $obj = CLASS::modul->new();
print $obj->{EINWERT};


Siehe auch
perldoc perlboot
perldoc perltoot
perldoc perltooc
perldoc perlbot


Gruß Alex
Knuddlbaer
 2004-04-18 17:52
#81649 #81649
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
thx :o)

Ich schmöcker mir erst mal die perldoc zu den Parametern durch, darauf folgt das Klassenzeugs. :o)

Vielen Dank für die Links
Gast Gast
 2004-04-18 18:40
#81650 #81650
Das ...

Quote
sub new {
  my $self = {
                  EINWERT => 'trallala',
                  EINANDERERWERT => 'anderewert'
                  };
   bless($self,'CLASS';
   return $self;
} #sub


würde ich besser nicht machen ...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
sub new {
   my $invoc = shift;
   my $class = ref $invoc || $invoc;
   my $self = {
                  EINWERT => 'trallala',
                  EINANDERERWERT => 'anderewert'
                  };
   bless($self, $class);
   return $self;
}


stellt dagegen sicher daß die Klasse unter Ihrem 'Namen' (und nicht unter 'CLASS' im Programm bekanntgemacht wird.

Sorry format_c ... :)\n\n

<!--EDIT|Dieter|1082301385-->
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2004-04-18 02:04.