Toon posts:

[perl] <STDIN> probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een vreemd probleem, ik heb een extra opties geschreven waardoor de argumenten niet perse via de commandline moeten worden ingevoerd, maar via enkele vragen: zie de volgende code.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#if ($ARGV[0] eq "-help") {
##invoeren via commandline onoverzichtelijk? Vraag om hulp..
#   
#   
#   print "Welke file wilt u als test file meegeven? ";
#   $test_file = <STDIN>;
#   chomp($test_file);
#
#   print "Welke file wilt u als goldstandard file meegeven? ";
#   $goldstandard_file = <STDIN>;
#   chomp($goldstandard_file);
#
#   print "Welke tag wilt u meegeven? ";
#   $tag = <STDIN>;
#   chomp($tag);
#   #invoeren van benodigde gegevens
#}


code:
1
2
open (TEST_CORPUS, $test_file) || die "$_\n";
open (GOLD_STANDARD_CORPUS, $goldstandard_file) || die "$_\n";


Alleen ik krijg nu -help als waarde in $test_file ... hoe kan dat? ziet hij -help als eerste <STDIN> ?

[ Voor 31% gewijzigd door Verwijderd op 28-05-2004 21:00 . Reden: code versmald ]


  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 22-05 14:17
$ARGV[1] moet je dan pakken. $ARGV[0] is namelijk de naam van het script zelf...

zeroxcool.net - curity.eu


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:19
ZeRoXcOoL: check je bronnen; niet in Perl. ;) @ARGV bevat alleen argumenten en $ARGV[0] is dan ook het eerste argument.

Bij mij werkt het script trouwens gewoon goed (als ik de #'s weghaal tenminste, anders doet 'ie natuurlijk niets). Je error checking werkt niet echt (het gebruik van die op die manier werkt om de een of andere reden niet -- ik vind het te laat om precies te bedenken waarom niet), maar goed, dat was je vraag niet. Kun je je probleem anders wat nader omschrijven, of een testcase geven met gewenste uitvoer en wat er mis gaat?

  • idef1x
  • Registratie: Januari 2004
  • Laatst online: 24-05 22:46
Bij mij werkt ie inderdaad ook gewoon...
Wat error checking betreft moet je die $_ vervangen door $!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 22-05 14:17
Soultaker schreef op 29 mei 2004 @ 00:59:
ZeRoXcOoL: check je bronnen; niet in Perl. ;) @ARGV bevat alleen argumenten en $ARGV[0] is dan ook het eerste argument.
offtopic:
Foute opmerking inderdaad. Lastig als je nogal eens in meerdere talen wat dingen maakt (C en P :)).

zeroxcool.net - curity.eu