Szervusztok!
Először is a tárgyat próbálnám kifejteni, lehet hogy van jobb megfogalmazás rá, röviden nekem most így sikerült, bocs!
Amennyiben javasoltok jobbat cserélem. ;)
Szeretnék egy debug felületet készíteni a perl tákolmányomhoz, ami a globális változókat meg tudná jeleníteni úgy, hogy a nevét ha beírom, megmutatná az értékét.
Gondoltam beolvasom egy readline-al, megcsonkolom egy chomp-al, majd amennyiben van ilyen, akkor vissza adom az értékét.
Az utolsó mozdulat nem megy, pontosabban csak részlegesen,mert pl. az ORS-re, valamint az RS pl. működni látszik.
Miképp lehet ilyet készíteni?
Most itt tartok:
#!/usr/bin/perl
#use strict;
use utf8;
use locale;
use English;
use warnings;
$ORS="\n";
my $c=0;
my $test = qq/happy/;
my $line = "";
while(1)
{
$c++;
$line = readline(*STDIN);
if(defined $line) {
if($line =~ /^exit$/){exit;}
chomp $line;
printf("->%s-<\n",${$line}); #RS, ORS, stb-re működik!
}
}
Köszönöm előre is!
Üdv,
vf
- 5572 megtekintés
Hozzászólások
szerintem perl szoftert perldebuggal debuggolj.
perl -d
http://perldoc.perl.org/perldebug.html
http://www.thegeekstuff.com/2010/05/perl-debugger/
- A hozzászóláshoz be kell jelentkezni
Köszönöm, egy kicsit mélyebbre ment, de nem gond, ez is jól jöhet, mert nem ismertem.
vf
- A hozzászóláshoz be kell jelentkezni
Ilyesmit szeretnél?
$ perl -e 'my $varname = "pityuka"; my $pityuka = "pityukavagyok"; print eval( "\${$varname}"), "\n"'
pityukavagyok
- A hozzászóláshoz be kell jelentkezni
Nagyon szépen köszönöm, pontosan erre gondoltam, mert láttam már ilyet, de még nem ettem. ;)
vf
- A hozzászóláshoz be kell jelentkezni
Amit te próbáltál, azt úgy hívják, hogy szimbolikus referencia, és csak csomagváltozókra működik, lexikálisakra nem. (Lexikális változó ugye az, amit my-jal deklarálsz.)
http://perldoc.perl.org/perlref.html#Symbolic-references
Egyébként +1 az előttem szólókra, debuggert a debuggerboltból.
- A hozzászóláshoz be kell jelentkezni