Hello Thanks a lot for your help, comment and sorry for my mistakes that I did not see first time that you solved my problems.
Have a nice day On Tue, Nov 9, 2010 at 8:51 PM, Sheppy R <bobross...@gmail.com> wrote: > The "Global symbol "@val" requires explicit package name at test.pl ." > should be fixed by declaring @val with 'my': > > my @val = **something**; > > On Tue, Nov 9, 2010 at 2:37 PM, Shlomi Fish <shlo...@iglu.org.il> wrote: > >> Hi Lynx, >> >> I'm CCing my reply to the list. Next time, please use the GMail "reply to >> all" >> feature. >> >> On Tuesday 09 November 2010 15:59:25 Lynx RO wrote: >> > Hello Shlomu Fish >> > >> >> It's "Shlomi" - not "Shlomu". >> >> > thanks for your comment I did changes , about chomp I think that is >> first >> > step is taking by default, about the rest I change @F and $f with @val >> and >> > $val[] but I still have error about some package >> > my @val = split (/;/, $line); >> > and >> > Global symbol "@val" requires explicit package name at test.pl . Can >> you >> > explain me were I am doing some mistake I find in the link about @ here >> > http://perldoc.perl.org/perlvar.ht...@- but I can not see were is my >> > mistake in the script :( can you help me? >> > >> >> You have not applied all of my commentary. Here are some notes: >> >> > >> > [code] >> > use strict; >> > use warnings; >> > >> > >> > # GET a value for accout.txt and outaccount >> > my $OUTPUTFILE ="acounts.txt"; >> > my $ACC_FILE = "inaccount.txt"; >> >> Be consistent - use «my $OUTPUT_FILE» instead of «my $OUTPUTFILE» >> >> > >> > #open input file >> > open my $ACC_IN ,"<", $ACC_FILE >> > or die "Cannot open '$ACC_FILE' for reading - $!; >> > >> > #split by line >> > while (my $line = <ACC_IN>) >> > >> > { >> > chomp ($line); >> > >> > my @val = split (/;/, $line); >> > >> > >> > #open output file >> > open my $out_fh, ">" , $OUTPUTFILE >> > or die "Cannot open '$OUTPUTFILE' for reading - $!; >> > >> >> 1. Here you are opening the file for writing and over-writing it in the >> process for each line in the loop. The opening should be done before the >> loop >> and the closing afterwards to prevent the file from being over-written >> each >> time. >> >> 2. You're missing the ending double-quotes («"»). >> >> > #print value what is interested for me in the file and then go to the >> next >> > line >> >> I gave you a fixed comment as it is not phrased well. >> > >> > print {$out_fh} "$val[0]$val[1]$val[2]$val[0]_mytext$val[3]\n"; >> > >> > >> > #close outfile >> > close $out_fh; >> >> Move this close out of the loop. >> > } >> > [/code] >> > >> >> Regards, >> >> Shlomi Fish >> >> -- >> ----------------------------------------------------------------- >> Shlomi Fish http://www.shlomifish.org/ >> What Makes Software Apps High Quality - http://shlom.in/sw-quality >> >> <rindolf> She's a hot chick. But she smokes. >> <go|dfish> She can smoke as long as she's smokin'. >> >> Please reply to list if it's a mailing list post - http://shlom.in/reply. >> >> -- >> To unsubscribe, e-mail: beginners-unsubscr...@perl.org >> For additional commands, e-mail: beginners-h...@perl.org >> http://learn.perl.org/ >> >> >> >